diff --git a/examples/README.md b/examples/README.md index 2d3aa13..177bd8d 100644 --- a/examples/README.md +++ b/examples/README.md @@ -5,6 +5,8 @@ - [search](search.py) – пример работы с поиском. Осуществление поисковых запросов, обработка лучшего результата и отображение статистики по найденным данным. +- [chart](chart.py) – пример работы с чартом ЯМ. Получение треков, отображение позиций + и их изменения с использованием эмодзи. - [get_album_with_tracks](get_album_with_tracks.py) – пример получения информации об альбоме. Пример отображения треков вместе с исполнителями и названием. - [proxy](proxy.py) – пример использования прокси, когда у пользователя нет подписки diff --git a/examples/chart.py b/examples/chart.py new file mode 100644 index 0000000..48e4db4 --- /dev/null +++ b/examples/chart.py @@ -0,0 +1,34 @@ +import os + +from yandex_music import Client + + +CHART_ID = 'world' +TOKEN = os.environ.get('TOKEN') + +client = Client(TOKEN) +chart = client.chart(CHART_ID).chart + +text = [f'🏆 {chart.title}', chart.description, '', 'Треки:'] + +for track_short in chart.tracks: + track, chart = track_short.track, track_short.chart + artists = '' + if track.artists: + artists = ' - ' + ', '.join(artist.name for artist in track.artists) + + track_text = f'{track.title}{artists}' + + if chart.progress == 'down': + track_text = '🔻 ' + track_text + elif chart.progress == 'up': + track_text = '🔺 ' + track_text + elif chart.progress == 'new': + track_text = '🆕 ' + track_text + elif chart.position == 1: + track_text = '👑 ' + track_text + + track_text = f'{chart.position} {track_text}' + text.append(track_text) + +print('\n'.join(text))