12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- from yandex_music import Client
- client = Client().init()
- type_to_name = {
- 'track': 'трек',
- 'artist': 'исполнитель',
- 'album': 'альбом',
- 'playlist': 'плейлист',
- 'video': 'видео',
- 'user': 'пользователь',
- 'podcast': 'подкаст',
- 'podcast_episode': 'эпизод подкаста',
- }
- def send_search_request_and_print_result(query): # noqa: C901
- search_result = client.search(query)
- text = [f'Результаты по запросу "{query}":', '']
- best_result_text = ''
- if search_result.best:
- type_ = search_result.best.type
- best = search_result.best.result
- text.append(f'❗️Лучший результат: {type_to_name.get(type_)}')
- if type_ in ['track', 'podcast_episode']:
- artists = ''
- if best.artists:
- artists = ' - ' + ', '.join(artist.name for artist in best.artists)
- best_result_text = best.title + artists
- elif type_ == 'artist':
- best_result_text = best.name
- elif type_ in ['album', 'podcast']:
- best_result_text = best.title # noqa: SIM114
- elif type_ == 'playlist':
- best_result_text = best.title
- elif type_ == 'video':
- best_result_text = f'{best.title} {best.text}'
- text.append(f'Содержимое лучшего результата: {best_result_text}\n')
- if search_result.artists:
- text.append(f'Исполнителей: {search_result.artists.total}')
- if search_result.albums:
- text.append(f'Альбомов: {search_result.albums.total}')
- if search_result.tracks:
- text.append(f'Треков: {search_result.tracks.total}')
- if search_result.playlists:
- text.append(f'Плейлистов: {search_result.playlists.total}')
- if search_result.videos:
- text.append(f'Видео: {search_result.videos.total}')
- text.append('')
- print('\n'.join(text))
- if __name__ == '__main__':
- while True:
- input_query = input('Введите поисковой запрос: ')
- send_search_request_and_print_result(input_query)
|