добавил ссылки на задачи к TODO не связанных с документацией (close #549)

このコミットが含まれているのは:
Ilya (Marshal) 2022-10-31 16:12:59 +01:00
コミット 6db8f8562b
7個のファイルの変更24行の追加13行の削除

ファイルの表示

@ -227,8 +227,6 @@ class Client(YandexMusicObject):
if not data:
data = {param: str(value)}
# TODO (MarshalX) значения в data типа bool должны быть приведены к str при работе с async клиентом.
result = self._request.post(url, data=data, *args, **kwargs)
return UserSettings.de_json(result, self)
@ -366,7 +364,8 @@ class Client(YandexMusicObject):
url = f'{self.base_url}/landing3'
result = self._request.get(url, {'blocks': blocks, 'eitherUserId': '10254713668400548221'}, *args, **kwargs)
# TODO что тут делает константа с моим User ID
# TODO (MarshalX) что тут делает константа с чьим-то User ID
# https://github.com/MarshalX/yandex-music-api/issues/553
return Landing.de_json(result, self)
@ -1146,6 +1145,7 @@ class Client(YandexMusicObject):
url = f'{self.base_url}/rotor/stations/list'
# TODO (MarshalX) почему тут константный 'ru' когда есть поддержка выбора языка клиентом
# https://github.com/MarshalX/yandex-music-api/issues/554
result = self._request.get(url, {'language': language}, *args, **kwargs)
@ -1358,7 +1358,7 @@ class Client(YandexMusicObject):
station: str,
mood_energy: str,
diversity: str,
language: str = 'not-russian', # TODO (MarshalX) почему не any
language: str = 'not-russian', # TODO (MarshalX) почему не any https://github.com/MarshalX/yandex-music-api/issues/555
type_: str = 'rotor',
*args,
**kwargs,
@ -1689,7 +1689,8 @@ class Client(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
# TODO (Marshal) что за True. Переделать на named argument
# TODO (MarshalX) что за True. Переделать на named argument
# https://github.com/MarshalX/yandex-music-api/issues/550
return self._like_action('artist', artist_ids, True, user_id, *args, **kwargs)
@log
@ -2261,6 +2262,7 @@ class Client(YandexMusicObject):
result = self._request.get(url, params=params, *args, **kwargs)
# TODO (MarshalX) судя по всему ручка ещё возвращает рекламу после треков для пользователей без подписки.
# https://github.com/MarshalX/yandex-music-api/issues/557
return ShotEvent.de_json(result.get('shot_event'), self)
@log

ファイルの表示

@ -231,8 +231,6 @@ class ClientAsync(YandexMusicObject):
if not data:
data = {param: str(value)}
# TODO (MarshalX) значения в data типа bool должны быть приведены к str при работе с async клиентом.
result = await self._request.post(url, data=data, *args, **kwargs)
return UserSettings.de_json(result, self)
@ -372,7 +370,8 @@ class ClientAsync(YandexMusicObject):
result = await self._request.get(
url, {'blocks': blocks, 'eitherUserId': '10254713668400548221'}, *args, **kwargs
)
# TODO что тут делает константа с моим User ID
# TODO (MarshalX) что тут делает константа с чьим-то User ID
# https://github.com/MarshalX/yandex-music-api/issues/553
return Landing.de_json(result, self)
@ -1156,6 +1155,7 @@ class ClientAsync(YandexMusicObject):
url = f'{self.base_url}/rotor/stations/list'
# TODO (MarshalX) почему тут константный 'ru' когда есть поддержка выбора языка клиентом
# https://github.com/MarshalX/yandex-music-api/issues/554
result = await self._request.get(url, {'language': language}, *args, **kwargs)
@ -1368,7 +1368,7 @@ class ClientAsync(YandexMusicObject):
station: str,
mood_energy: str,
diversity: str,
language: str = 'not-russian', # TODO (MarshalX) почему не any
language: str = 'not-russian', # TODO (MarshalX) почему не any https://github.com/MarshalX/yandex-music-api/issues/555
type_: str = 'rotor',
*args,
**kwargs,
@ -1699,7 +1699,8 @@ class ClientAsync(YandexMusicObject):
Raises:
:class:`yandex_music.exceptions.YandexMusicError`: Базовое исключение библиотеки.
"""
# TODO (Marshal) что за True. Переделать на named argument
# TODO (MarshalX) что за True. Переделать на named argument
# https://github.com/MarshalX/yandex-music-api/issues/550
return await self._like_action('artist', artist_ids, True, user_id, *args, **kwargs)
@log
@ -2277,6 +2278,7 @@ class ClientAsync(YandexMusicObject):
result = await self._request.get(url, params=params, *args, **kwargs)
# TODO (MarshalX) судя по всему ручка ещё возвращает рекламу после треков для пользователей без подписки.
# https://github.com/MarshalX/yandex-music-api/issues/557
return ShotEvent.de_json(result.get('shot_event'), self)
@log

ファイルの表示

@ -9,6 +9,7 @@ class UnauthorizedError(YandexMusicError):
# TODO (MarshalX) На самом деле поиск еще происходит по кодеку
# https://github.com/MarshalX/yandex-music-api/issues/552
class InvalidBitrateError(YandexMusicError):
"""Класс исключения, вызываемого при попытке загрузки трека
с недоступным битрейтом.

ファイルの表示

@ -48,7 +48,7 @@ class CaseForms(YandexMusicObject):
client (:obj:`yandex_music.Client`, optional): Клиент Yandex Music.
Returns:
:obj:`yandex_music.CaseForms`: TODO.
:obj:`yandex_music.CaseForms`: Склонение имени.
"""
if not data:
return None

ファイルの表示

@ -49,3 +49,4 @@ class Tag(YandexMusicObject):
return cls(client=client, **data)
# TODO (MarshalX) add download_og_image shortcut?
# https://github.com/MarshalX/yandex-music-api/issues/556

ファイルの表示

@ -47,3 +47,4 @@ class TagResult(YandexMusicObject):
return cls(client=client, **data)
# TODO (MarshalX) add fetch_playlists shortcut?
# https://github.com/MarshalX/yandex-music-api/issues/551

ファイルの表示

@ -75,14 +75,18 @@ class Difference:
Returns:
:obj:`yandex_music.utils.difference.Difference`: Набор операций над плейлистом.
"""
# TODO принимать TrackId, а так же строку и сплитить её по ":". При отсутствии album_id кидать исключение.
# TODO (MarshalX) принимать TrackId, а так же строку и сплитить её по ":".
# При отсутствии album_id кидать исключение.
# https://github.com/MarshalX/yandex-music-api/issues/558
if not isinstance(tracks, list):
tracks = [tracks]
operation = {'op': Operation.INSERT.value, 'at': at, 'tracks': []}
for track in tracks:
track = type('TrackId', (), track) # TODO replace to normal TrackId object
# TODO (MarshalX) replace to normal TrackId object
# https://github.com/MarshalX/yandex-music-api/issues/558
track = type('TrackId', (), track)
operation['tracks'].append({'id': track.id, 'albumId': track.album_id})