From 059f0fda57644f24f343496aa91a246dfcca85e6 Mon Sep 17 00:00:00 2001 From: "Il'ya (Marshal)" Date: Sun, 20 Feb 2022 21:59:13 +0100 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20=D0=BA=D0=BE=D0=BC=D0=BC=D0=B5=D0=BD=D1=82=D0=B0=D1=80?= =?UTF-8?q?=D0=B8=D0=B9=20=D1=81=20=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=D0=BC=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B8=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=B8=D1=81=D0=BA=D0=B0=20=D0=B8=20=D0=B8=D1=81?= =?UTF-8?q?=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=B4=D0=BE?= =?UTF-8?q?=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82=D0=B0=D1=86=D0=B8=D0=B8=20?= =?UTF-8?q?=D0=BC=D0=BE=D0=B4=D0=B5=D0=BB=D0=B8=20Search?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yandex_music/search/search.py | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/yandex_music/search/search.py b/yandex_music/search/search.py index 2cb733e..883d375 100644 --- a/yandex_music/search/search.py +++ b/yandex_music/search/search.py @@ -14,15 +14,15 @@ class Search(YandexMusicObject): Attributes: search_request_id (:obj:`str`): ID запроса. text (:obj:`str`): Текст запроса. - best (:obj:`yandex_music.Best`): Лучший результат. - albums (:obj:`yandex_music.SearchResult`): Найденные альбомы. - artists (:obj:`yandex_music.SearchResult`): Найденные исполнители. - playlists (:obj:`yandex_music.SearchResult`): Найденные плейлисты. - tracks (:obj:`yandex_music.SearchResult`): Найденные треки. - videos (:obj:`yandex_music.SearchResult`): Найденные видео. - users (:obj:`yandex_music.SearchResult`): Найденные пользователи. - podcasts (:obj:`yandex_music.SearchResult`): Найденные подскасты. - podcast_episodes (:obj:`yandex_music.SearchResult`): Найденные выпуски подкастов. + best (:obj:`yandex_music.Best`, optional): Лучший результат. + albums (:obj:`yandex_music.SearchResult`, optional): Найденные альбомы. + artists (:obj:`yandex_music.SearchResult`, optional): Найденные исполнители. + playlists (:obj:`yandex_music.SearchResult`, optional): Найденные плейлисты. + tracks (:obj:`yandex_music.SearchResult`, optional): Найденные треки. + videos (:obj:`yandex_music.SearchResult`, optional): Найденные видео. + users (:obj:`yandex_music.SearchResult`, optional): Найденные пользователи. + podcasts (:obj:`yandex_music.SearchResult`, optional): Найденные подкасты. + podcast_episodes (:obj:`yandex_music.SearchResult`, optional): Найденные выпуски подкастов. type (:obj:`str`), optional: Тип результата по которому искали (аргумент в Client.search). page (:obj:`int`, optional): Текущая страница. per_page (:obj:`int`, optional): Результатов на странице. @@ -69,7 +69,7 @@ class Search(YandexMusicObject): ) def get_page(self, page: int, *args, **kwargs) -> Optional['Search']: - """Получение определеной страницы поиска. + """Получение определённой страницы поиска. Args: page (:obj:`int`): Номер страницы. @@ -80,7 +80,7 @@ class Search(YandexMusicObject): return self.client.search(self.text, self.nocorrect, self.type_, page, *args, **kwargs) async def get_page_async(self, page: int, *args, **kwargs) -> Optional['Search']: - """Получение определеной страницы поиска. + """Получение определённой страницы поиска. Args: page (:obj:`int`): Номер страницы. @@ -139,6 +139,11 @@ class Search(YandexMusicObject): data = super(Search, cls).de_json(data, client) from yandex_music import SearchResult, Best + # в ОЧЕНЬ редких случаях сервер творит дичь и может вернуть результат плейлистов в поле artists + # или вернуть в поле users результаты с плейлистами + + # очень редких это около 10 запросов за 3 месяца работы стороннего клиента + data['best'] = Best.de_json(data.get('best'), client) data['albums'] = SearchResult.de_json(data.get('albums'), client, 'album') data['artists'] = SearchResult.de_json(data.get('artists'), client, 'artist')