добавлен комментарий с описанием ошибки поиска и исправлена документации модели Search

このコミットが含まれているのは:
Il'ya (Marshal) 2022-02-20 21:59:13 +01:00
コミット 059f0fda57
1個のファイルの変更16行の追加11行の削除

ファイルの表示

@ -14,15 +14,15 @@ class Search(YandexMusicObject):
Attributes: Attributes:
search_request_id (:obj:`str`): ID запроса. search_request_id (:obj:`str`): ID запроса.
text (:obj:`str`): Текст запроса. text (:obj:`str`): Текст запроса.
best (:obj:`yandex_music.Best`): Лучший результат. best (:obj:`yandex_music.Best`, optional): Лучший результат.
albums (:obj:`yandex_music.SearchResult`): Найденные альбомы. albums (:obj:`yandex_music.SearchResult`, optional): Найденные альбомы.
artists (:obj:`yandex_music.SearchResult`): Найденные исполнители. artists (:obj:`yandex_music.SearchResult`, optional): Найденные исполнители.
playlists (:obj:`yandex_music.SearchResult`): Найденные плейлисты. playlists (:obj:`yandex_music.SearchResult`, optional): Найденные плейлисты.
tracks (:obj:`yandex_music.SearchResult`): Найденные треки. tracks (:obj:`yandex_music.SearchResult`, optional): Найденные треки.
videos (:obj:`yandex_music.SearchResult`): Найденные видео. videos (:obj:`yandex_music.SearchResult`, optional): Найденные видео.
users (:obj:`yandex_music.SearchResult`): Найденные пользователи. users (:obj:`yandex_music.SearchResult`, optional): Найденные пользователи.
podcasts (:obj:`yandex_music.SearchResult`): Найденные подскасты. podcasts (:obj:`yandex_music.SearchResult`, optional): Найденные подкасты.
podcast_episodes (:obj:`yandex_music.SearchResult`): Найденные выпуски подкастов. podcast_episodes (:obj:`yandex_music.SearchResult`, optional): Найденные выпуски подкастов.
type (:obj:`str`), optional: Тип результата по которому искали (аргумент в Client.search). type (:obj:`str`), optional: Тип результата по которому искали (аргумент в Client.search).
page (:obj:`int`, optional): Текущая страница. page (:obj:`int`, optional): Текущая страница.
per_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']: def get_page(self, page: int, *args, **kwargs) -> Optional['Search']:
"""Получение определеной страницы поиска. """Получение определённой страницы поиска.
Args: Args:
page (:obj:`int`): Номер страницы. page (:obj:`int`): Номер страницы.
@ -80,7 +80,7 @@ class Search(YandexMusicObject):
return self.client.search(self.text, self.nocorrect, self.type_, page, *args, **kwargs) 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']: async def get_page_async(self, page: int, *args, **kwargs) -> Optional['Search']:
"""Получение определеной страницы поиска. """Получение определённой страницы поиска.
Args: Args:
page (:obj:`int`): Номер страницы. page (:obj:`int`): Номер страницы.
@ -139,6 +139,11 @@ class Search(YandexMusicObject):
data = super(Search, cls).de_json(data, client) data = super(Search, cls).de_json(data, client)
from yandex_music import SearchResult, Best from yandex_music import SearchResult, Best
# в ОЧЕНЬ редких случаях сервер творит дичь и может вернуть результат плейлистов в поле artists
# или вернуть в поле users результаты с плейлистами
# очень редких это около 10 запросов за 3 месяца работы стороннего клиента
data['best'] = Best.de_json(data.get('best'), client) data['best'] = Best.de_json(data.get('best'), client)
data['albums'] = SearchResult.de_json(data.get('albums'), client, 'album') data['albums'] = SearchResult.de_json(data.get('albums'), client, 'album')
data['artists'] = SearchResult.de_json(data.get('artists'), client, 'artist') data['artists'] = SearchResult.de_json(data.get('artists'), client, 'artist')