From addf2d8c719ef5518f22195fe55689634d01a4e3 Mon Sep 17 00:00:00 2001 From: Il`ya Semyonov Date: Mon, 1 Feb 2021 13:46:20 +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=D1=80=D0=B0?= =?UTF-8?q?=D0=B1=D0=BE=D1=82=D1=8B=20=D1=81=20=D1=87=D0=B0=D1=80=D1=82?= =?UTF-8?q?=D0=BE=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/README.md | 2 ++ examples/chart.py | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 examples/chart.py 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))