diff --git a/examples/README.md b/examples/README.md index 3840f34..4ec87a7 100644 --- a/examples/README.md +++ b/examples/README.md @@ -3,6 +3,8 @@ В этой папке есть небольшие примеры, чтобы показать, как выглядят скрипты, написанные с помощью `yandex-music-api`. +- [get_album_with_tracks](get_album_with_tracks.py) – пример получения информации + об альбоме. Пример отображения треков вместе с исполнителями и названием. - [proxy](proxy.py) – пример использования прокси, когда у пользователя нет подписки (так как Яндекс.Музыка недоступна за пределами СНГ. Актуально для расположения скрипта на зарубежном сервере). При проблемах с авторизацией или токеном diff --git a/examples/get_album_with_tracks.py b/examples/get_album_with_tracks.py new file mode 100644 index 0000000..9138df7 --- /dev/null +++ b/examples/get_album_with_tracks.py @@ -0,0 +1,38 @@ +import os + +from yandex_music import Client + +# без авторизации недоступен список треков альбома +TOKEN = os.environ.get('TOKEN') +ALBUM_ID = 2832563 + +client = Client(TOKEN) + +album = client.albums_with_tracks(ALBUM_ID) +tracks = [] +for i, volume in enumerate(album.volumes): + if len(album.volumes) > 1: + tracks.append(f'💿 Диск {i + 1}') + tracks += volume + +text = 'АЛЬБОМ\n\n' +text += f'{album.title}\n' +text += f"Исполнитель: {', '.join([artist.name for artist in album.artists])}\n" +text += f'{album.year} · {album.genre}\n' + +cover = album.cover_uri +if cover: + text += f'Обложка: {cover.replace("%%", "400x400")}\n\n' + +text += 'Список треков:' + +print(text) + +for track in tracks: + if isinstance(track, str): + print(track) + else: + artists = '' + if track.artists: + artists = ' - ' + ', '.join(artist.name for artist in track.artists) + print(track.title + artists)