diff --git a/yandex_music/client.py b/yandex_music/client.py index 45a445e..ee0164e 100644 --- a/yandex_music/client.py +++ b/yandex_music/client.py @@ -457,6 +457,8 @@ class Client(YandexMusicObject): :obj:`yandex_music.Supplement`: Объект класса `yandex_music.Supplement` представляющий дополнительную информацию о треке. + Raises: + :class:`yandex_music.YandexMusicError` """ url = f'{self.base_url}/tracks/{track_id}/supplement' @@ -468,6 +470,22 @@ class Client(YandexMusicObject): @log def tracks_similar(self, track_id: Union[str, int], timeout: Union[int, float] = None, *args, **kwargs) -> Optional: + """Получение похожих треков. + + Args: + track_id (:obj:`str`): Уникальный идентификатор трека. + timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания + ответа от сервера вместо указанного при создании пула. + **kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос). + + Returns: + :obj:`yandex_music.TracksSimilar`: Объект класса `yandex_music.TracksSimilar` представляющий список похожих + треков на другой трек. + + Raises: + :class:`yandex_music.YandexMusicError` + """ + url = f'{self.base_url}/tracks/{track_id}/similar' result = self._request.get(url, timeout=timeout, *args, **kwargs) diff --git a/yandex_music/track/tracks_similar.py b/yandex_music/track/tracks_similar.py index c9e3e73..59e88bf 100644 --- a/yandex_music/track/tracks_similar.py +++ b/yandex_music/track/tracks_similar.py @@ -7,6 +7,24 @@ from yandex_music import YandexMusicObject class TracksSimilar(YandexMusicObject): + """Класс, представляющий список похожих треков на другой трек. + + Attributes: + track (:obj:`yandex_music.Track`): Объект класса :class:`yandex_music.Track` представляющий трек. + similar_tracks (:obj:`list` из :obj:`yandex_music.Track`): Список объектов класса + :class:`yandex_music.Track` представляющие похожие треки на `track`. + client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex + Music. + + Args: + track (:obj:`yandex_music.Track`): Объект класса :class:`yandex_music.Track` представляющий трек. + similar_tracks (:obj:`list` из :obj:`yandex_music.Track`): Список объектов класса + :class:`yandex_music.Track` представляющие похожие треки на `track`. + client (:obj:`yandex_music.Client`, optional): Объект класса :class:`yandex_music.Client` представляющий клиент + Yandex Music. + **kwargs: Произвольные ключевые аргументы полученные от API. + """ + def __init__(self, track: Optional['Track'], similar_tracks: List['Track'],