From 38abd035c58ba21f16ec8574b918d953aa66d522 Mon Sep 17 00:00:00 2001 From: Il`ya Semyonov Date: Mon, 1 Feb 2021 13:16:21 +0100 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20=D0=BF=D1=80=D0=B8=D0=BC=D0=B5=D1=80=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=BB=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B8=D0=BD=D1=84?= =?UTF-8?q?=D0=BE=D1=80=D0=BC=D0=B0=D1=86=D0=B8=D0=B8=20=D0=BE=D0=B1=20?= =?UTF-8?q?=D0=B0=D0=BB=D1=8C=D0=B1=D0=BE=D0=BC=D0=B5=20=D0=B8=20=D0=B2?= =?UTF-8?q?=D1=8B=D0=B2=D0=BE=D0=B4=D0=B0=20=D1=81=D0=BF=D0=B8=D1=81=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=B5=D0=B3=D0=BE=20=D1=82=D1=80=D0=B5=D0=BA=D0=BE?= =?UTF-8?q?=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/README.md | 2 ++ examples/get_album_with_tracks.py | 38 +++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 examples/get_album_with_tracks.py 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)