コミット
6db8f8562b
|
@ -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})
|
||||
|
||||
|
|
読み込み中…
新しいイシューから参照