Добавлен пример получения информации об альбоме и вывода списка его треков

このコミットが含まれているのは:
Il`ya Semyonov 2021-02-01 13:16:21 +01:00
コミット 38abd035c5
2個のファイルの変更40行の追加0行の削除

ファイルの表示

@ -3,6 +3,8 @@
В этой папке есть небольшие примеры, чтобы показать, как выглядят скрипты,
написанные с помощью `yandex-music-api`.
- [get_album_with_tracks](get_album_with_tracks.py) пример получения информации
об альбоме. Пример отображения треков вместе с исполнителями и названием.
- [proxy](proxy.py) пример использования прокси, когда у пользователя нет подписки
(так как Яндекс.Музыка недоступна за пределами СНГ. Актуально для расположения
скрипта на зарубежном сервере). При проблемах с авторизацией или токеном

38
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)