Добавлен класс UserSettings.

Добавлен метод для получения своих настроек.
Добавлен метод для получения настроек другого пользователя.
Добавлен метод для изменения настроек.
Изменено название пакета с status на account. #195
このコミットが含まれているのは:
Il`ya 2020-01-25 21:09:03 +03:00
コミット 5afeaa244b
14個のファイルの変更200行の追加38行の削除

ファイルの表示

@ -4,15 +4,16 @@ from .settings import Settings
from .permission_alerts import PermissionAlerts from .permission_alerts import PermissionAlerts
from .experiments import Experiments from .experiments import Experiments
from .status.status import Status from .account.status import Status
from .status.account import Account from .account.account import Account
from .status.plus import Plus from .account.plus import Plus
from .status.subscription import Subscription from .account.user_settings import UserSettings
from .status.price import Price from .account.subscription import Subscription
from .status.product import Product from .account.price import Price
from .status.auto_renewable import AutoRenewable from .account.product import Product
from .status.passport_phone import PassportPhone from .account.auto_renewable import AutoRenewable
from .status.permissions import Permissions from .account.passport_phone import PassportPhone
from .account.permissions import Permissions
from .album.album import Album from .album.album import Album
from .album.label import Label from .album.label import Label
@ -120,4 +121,4 @@ __all__ = ['YandexMusicObject', 'Client', 'Account', 'PassportPhone', 'Invocatio
'Icon', 'Images', 'Id', 'Station', 'Dashboard', 'RotorSettings', 'AdParams', 'Restrictions', 'Value', 'Enum', 'Icon', 'Images', 'Id', 'Station', 'Dashboard', 'RotorSettings', 'AdParams', 'Restrictions', 'Value', 'Enum',
'DiscreteScale', 'StationResult', 'Sequence', 'StationTracksResult', 'BriefInfo', 'Description', 'DiscreteScale', 'StationResult', 'Sequence', 'StationTracksResult', 'BriefInfo', 'Description',
'PlaylistId', 'Vinyl', 'Supplement', 'Lyrics', 'VideoSupplement', 'ArtistTracks', 'Pager', 'ArtistAlbums', 'PlaylistId', 'Vinyl', 'Supplement', 'Lyrics', 'VideoSupplement', 'ArtistTracks', 'Pager', 'ArtistAlbums',
'PlaylistAbsence', 'Shot', 'ShotEvent', 'ShotType', 'ShotData', 'SimilarTracks'] 'PlaylistAbsence', 'Shot', 'ShotEvent', 'ShotType', 'ShotData', 'SimilarTracks', 'UserSettings']

ファイルの表示

@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
class Account(YandexMusicObject): class Account(YandexMusicObject):
"""Класс предоставляющий основную информацию об аккаунте пользователя. """Класс, предоставляющий основную информацию об аккаунте пользователя.
Attributes: Attributes:
now (:obj:`str`): Текущая дата и время. now (:obj:`str`): Текущая дата и время.

ファイルの表示

@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
class AutoRenewable(YandexMusicObject): class AutoRenewable(YandexMusicObject):
"""Класс представляющий автопродление подписки. """Класс, представляющий автопродление подписки.
Attributes: Attributes:
expires (:obj:`str`): Дата истечения подписки. expires (:obj:`str`): Дата истечения подписки.

ファイルの表示

@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
class PassportPhone(YandexMusicObject): class PassportPhone(YandexMusicObject):
"""Класс представляющий номер телефона пользователя. """Класс, представляющий номер телефона пользователя.
Attributes: Attributes:
phone (:obj:`str`): Номер телефона. phone (:obj:`str`): Номер телефона.

ファイルの表示

@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
class Permissions(YandexMusicObject): class Permissions(YandexMusicObject):
"""Класс предоставляющий информацию о правах пользователя, их изначальных значениях и даты окончания. """Класс, предоставляющий информацию о правах пользователя, их изначальных значениях и даты окончания.
Attributes: Attributes:
until (:obj:`str`): Дата окончания прав. until (:obj:`str`): Дата окончания прав.

ファイルの表示

@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
class Plus(YandexMusicObject): class Plus(YandexMusicObject):
"""Класс представляющий Plus подписку. """Класс, представляющий Plus подписку.
Attributes: Attributes:
has_plus (:obj:`bool`): Наличие. has_plus (:obj:`bool`): Наличие.

ファイルの表示

@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
class Price(YandexMusicObject): class Price(YandexMusicObject):
"""Класс представляющий цену. """Класс, представляющий цену.
Attributes: Attributes:
amount (:obj:`int`): Количество единиц. amount (:obj:`int`): Количество единиц.

ファイルの表示

@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
class Product(YandexMusicObject): class Product(YandexMusicObject):
"""Класс представляющий продаваемый продукт. """Класс, представляющий продаваемый продукт.
Attributes: Attributes:
product_id (:obj:`str`): Уникальный идентификатор. product_id (:obj:`str`): Уникальный идентификатор.

ファイルの表示

@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
class Status(YandexMusicObject): class Status(YandexMusicObject):
"""Класс представляющий подробную информацию об аккаунте пользователя. """Класс, представляющий подробную информацию об аккаунте пользователя.
Attributes: Attributes:
account (:obj:`yandex_music.Account`): Объект класса :class:`yandex_music.Account` предоставляющий основную account (:obj:`yandex_music.Account`): Объект класса :class:`yandex_music.Account` предоставляющий основную

ファイルの表示

@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
class Subscription(YandexMusicObject): class Subscription(YandexMusicObject):
"""Класс предоставляющий информацию о подписках пользователя. """Класс, предоставляющий информацию о подписках пользователя.
Attributes: Attributes:
auto_renewable (:obj:`list` из :obj:`yandex_music.AutoRenewable`): Список объектов класса auto_renewable (:obj:`list` из :obj:`yandex_music.AutoRenewable`): Список объектов класса

82
yandex_music/account/user_settings.py ノーマルファイル
ファイルの表示

@ -0,0 +1,82 @@
from typing import TYPE_CHECKING, Optional
if TYPE_CHECKING:
from yandex_music import Client
from yandex_music import YandexMusicObject
class UserSettings(YandexMusicObject):
"""Класс, предоставляющий настройки пользователя.
Доступные значения для поля `theme`: `white`, `black`.
Доступные значения для полей `user_music_visibility` и `user_social_visibility`: `private`, `public`.
Attributes:
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Args:
client (:obj:`yandex_music.Client`, optional): Объект класса :class:`yandex_music.Client` представляющий клиент
Yandex Music.
**kwargs: Произвольные ключевые аргументы полученные от API.
"""
def __init__(self,
uid: int,
last_fm_scrobbling_enabled: bool,
shuffle_enabled: bool,
volume_percents: int,
modified: str,
facebook_scrobbling_enabled: bool,
add_new_track_on_playlist_top: bool,
user_music_visibility: str,
user_social_visibility: str,
rbt_disabled: bool,
theme: str,
promos_disabled: bool,
auto_play_radio: bool,
ads_disabled: Optional[bool] = None,
disk_enabled: Optional[bool] = None,
show_disk_tracks_in_library: Optional[bool] = None,
client: Optional['Client'] = None,
**kwargs) -> None:
self.uid = uid
self.last_fm_scrobbling_enabled = last_fm_scrobbling_enabled
self.shuffle_enabled = shuffle_enabled
self.volume_percents = volume_percents
self.modified = modified
self.facebook_scrobbling_enabled = facebook_scrobbling_enabled
self.add_new_track_on_playlist_top = add_new_track_on_playlist_top
self.user_music_visibility = user_music_visibility
self.user_social_visibility = user_social_visibility
self.rbt_disabled = rbt_disabled
self.theme = theme
self.promos_disabled = promos_disabled
self.auto_play_radio = auto_play_radio
self.ads_disabled = ads_disabled
self.disk_enabled = disk_enabled
self.show_disk_tracks_in_library = show_disk_tracks_in_library
self.client = client
self._id_attrs = (self.uid, )
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['UserSettings']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.UserSettings`: Объект класса :class:`yandex_music.UserSettings`.
"""
if not data:
return None
data = super(UserSettings, cls).de_json(data, client)
return cls(client=client, **data)

ファイルの表示

@ -6,7 +6,7 @@ from typing import Callable, Union, List, Optional
from yandex_music import YandexMusicObject, Status, Settings, PermissionAlerts, Experiments, Artist, Album, Playlist, \ from yandex_music import YandexMusicObject, Status, Settings, PermissionAlerts, Experiments, Artist, Album, Playlist, \
TracksList, Track, AlbumsLikes, ArtistsLikes, PlaylistsLikes, Feed, PromoCodeStatus, DownloadInfo, Search, \ TracksList, Track, AlbumsLikes, ArtistsLikes, PlaylistsLikes, Feed, PromoCodeStatus, DownloadInfo, Search, \
Suggestions, Landing, Genre, Dashboard, StationResult, StationTracksResult, BriefInfo, Supplement, ArtistTracks, \ Suggestions, Landing, Genre, Dashboard, StationResult, StationTracksResult, BriefInfo, Supplement, ArtistTracks, \
ArtistAlbums, ShotEvent, SimilarTracks ArtistAlbums, ShotEvent, SimilarTracks, UserSettings
from yandex_music.utils.request import Request from yandex_music.utils.request import Request
from yandex_music.utils.difference import Difference from yandex_music.utils.difference import Difference
from yandex_music.exceptions import InvalidToken, Captcha from yandex_music.exceptions import InvalidToken, Captcha
@ -239,6 +239,55 @@ class Client(YandexMusicObject):
return Status.de_json(result, self) return Status.de_json(result, self)
@log
def account_settings(self, timeout: Union[int, float] = None, *args, **kwargs) -> Optional[Settings]:
"""Получение настроек текущего пользователя.
Args:
timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания
ответа от сервера вместо указанного при создании пула.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.UserSettings`: Объекта класса :class:`yandex_music.UserSettings` предоставляющий
настройки пользователя, иначе :obj:`None`.
Raises:
:class:`yandex_music.YandexMusicError`
"""
url = f'{self.base_url}/account/settings'
result = self._request.get(url, timeout=timeout, *args, **kwargs)
return UserSettings.de_json(result, self)
@log
def account_settings_set(self, param: str, value: Union[str, int, bool], timeout: Union[int, float] = None,
*args, **kwargs) -> Optional[Settings]:
"""Изменение настроек текущего пользователя.
Доступные названия параметров есть поля в классе :class:`yandex_music.UserSettings`, только в CamelCase.
Args:
timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания
ответа от сервера вместо указанного при создании пула.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.UserSettings`: Объекта класса :class:`yandex_music.UserSettings` предоставляющий
настройки пользователя, иначе :obj:`None`.
Raises:
:class:`yandex_music.YandexMusicError`
"""
url = f'{self.base_url}/account/settings'
result = self._request.get(url, params={param: value}, timeout=timeout, *args, **kwargs)
return UserSettings.de_json(result, self)
@log @log
def settings(self, timeout: Union[int, float] = None, *args, **kwargs) -> Optional[Settings]: def settings(self, timeout: Union[int, float] = None, *args, **kwargs) -> Optional[Settings]:
"""Получение предложений по покупке. Нет обязательных параметров. """Получение предложений по покупке. Нет обязательных параметров.
@ -651,14 +700,43 @@ class Client(YandexMusicObject):
return Suggestions.de_json(result, self) return Suggestions.de_json(result, self)
@log @log
def users_playlists(self, kind: Union[List[Union[str, int]], str, int], user_id: str = None, def users_settings(self, user_id: Union[str, int] = None, timeout: Union[int, float] = None,
*args, **kwargs) -> Optional[Settings]:
"""Получение настроек пользователя.
Для получения настроек пользователя нужно быть авторизованным или владеть `user_id`.
Args:
timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания
ответа от сервера вместо указанного при создании пула.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
Returns:
:obj:`yandex_music.UserSettings`: Объекта класса :class:`yandex_music.UserSettings` предоставляющий
настройки пользователя, иначе :obj:`None`.
Raises:
:class:`yandex_music.YandexMusicError`
"""
if user_id is None and self.me is not None:
user_id = self.me.account.uid
url = f'{self.base_url}/users/{user_id}/settings'
result = self._request.get(url, timeout=timeout, *args, **kwargs)
return UserSettings.de_json(result.get('user_settings'), self)
@log
def users_playlists(self, kind: Union[List[Union[str, int]], str, int], user_id: Union[str, int] = None,
timeout: Union[int, float] = None, *args, **kwargs) -> List[Playlist]: timeout: Union[int, float] = None, *args, **kwargs) -> List[Playlist]:
"""Получение плейлиста или списка плейлистов по уникальным идентификаторам. """Получение плейлиста или списка плейлистов по уникальным идентификаторам.
Args: Args:
kind (:obj:`str` | :obj:`int` | :obj:`list` из :obj:`str` | :obj:`int`): Уникальный идентификатор плейлиста kind (:obj:`str` | :obj:`int` | :obj:`list` из :obj:`str` | :obj:`int`): Уникальный идентификатор плейлиста
или их список. или их список.
user_id: (:obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом. user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания
ответа от сервера вместо указанного при создании пула. ответа от сервера вместо указанного при создании пула.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос). **kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
@ -685,14 +763,14 @@ class Client(YandexMusicObject):
return Playlist.de_list(result, self) return Playlist.de_list(result, self)
@log @log
def users_playlists_create(self, title: str, visibility: str = 'public', user_id: str = None, def users_playlists_create(self, title: str, visibility: str = 'public', user_id: Union[str, int] = None,
timeout: Union[int, float] = None, *args, **kwargs) -> Optional[Playlist]: timeout: Union[int, float] = None, *args, **kwargs) -> Optional[Playlist]:
"""Создание плейлиста. """Создание плейлиста.
Args: Args:
title (:obj:`str`): Название. title (:obj:`str`): Название.
visibility (:obj:`str`, optional): Модификатор доступа. visibility (:obj:`str`, optional): Модификатор доступа.
user_id: (:obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом. user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания
ответа от сервера вместо указанного при создании пула. ответа от сервера вместо указанного при создании пула.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос). **kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
@ -720,13 +798,13 @@ class Client(YandexMusicObject):
return Playlist.de_json(result, self) return Playlist.de_json(result, self)
@log @log
def users_playlists_delete(self, kind: Union[str, int], user_id: str = None, def users_playlists_delete(self, kind: Union[str, int], user_id: Union[str, int] = None,
timeout: Union[int, float] = None, *args, **kwargs) -> bool: timeout: Union[int, float] = None, *args, **kwargs) -> bool:
"""Удаление плейлиста. """Удаление плейлиста.
Args: Args:
kind (:obj:`str` | :obj:`int`): Уникальный идентификатор плейлиста. kind (:obj:`str` | :obj:`int`): Уникальный идентификатор плейлиста.
user_id: (:obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом. user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания
ответа от сервера вместо указанного при создании пула. ответа от сервера вместо указанного при создании пула.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос). **kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
@ -748,14 +826,14 @@ class Client(YandexMusicObject):
return result == 'ok' return result == 'ok'
@log @log
def users_playlists_name(self, kind: Union[str, int], name: str, user_id: str = None, def users_playlists_name(self, kind: Union[str, int], name: str, user_id: Union[str, int] = None,
timeout: Union[int, float] = None, *args, **kwargs) -> Optional[Playlist]: timeout: Union[int, float] = None, *args, **kwargs) -> Optional[Playlist]:
"""Изменение названия плейлиста. """Изменение названия плейлиста.
Args: Args:
kind (:obj:`str` | :obj:`int`): Уникальный идентификатор плейлиста. kind (:obj:`str` | :obj:`int`): Уникальный идентификатор плейлиста.
name (:obj:`str`): Новое название. name (:obj:`str`): Новое название.
user_id: (:obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом. user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания
ответа от сервера вместо указанного при создании пула. ответа от сервера вместо указанного при создании пула.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос). **kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
@ -778,7 +856,7 @@ class Client(YandexMusicObject):
return Playlist.de_json(result, self) return Playlist.de_json(result, self)
@log @log
def users_playlists_visibility(self, kind: Union[str, int], visibility: str, user_id: str = None, def users_playlists_visibility(self, kind: Union[str, int], visibility: str, user_id: Union[str, int] = None,
timeout: Union[int, float] = None, *args, **kwargs) -> Optional[Playlist]: timeout: Union[int, float] = None, *args, **kwargs) -> Optional[Playlist]:
"""Изменение видимости плейлиста. """Изменение видимости плейлиста.
@ -787,7 +865,7 @@ class Client(YandexMusicObject):
Args: Args:
kind (:obj:`str` | :obj:`int`): Уникальный идентификатор плейлиста. kind (:obj:`str` | :obj:`int`): Уникальный идентификатор плейлиста.
visibility (:obj:`str`): Новое название. visibility (:obj:`str`): Новое название.
user_id: (:obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом. user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания
ответа от сервера вместо указанного при создании пула. ответа от сервера вместо указанного при создании пула.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос). **kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
@ -810,8 +888,9 @@ class Client(YandexMusicObject):
return Playlist.de_json(result, self) return Playlist.de_json(result, self)
@log @log
def users_playlists_change(self, kind: Union[str, int], diff: str, revision: int = 1, user_id: str = None, def users_playlists_change(self, kind: Union[str, int], diff: str, revision: int = 1,
timeout: Union[int, float] = None, *args, **kwargs) -> Optional[Playlist]: user_id: Union[str, int] = None, timeout: Union[int, float] = None,
*args, **kwargs) -> Optional[Playlist]:
"""Изменение плейлиста. """Изменение плейлиста.
Для получения отличий есть вспомогательный класс :class:`from yandex_music.utils.difference.Difference`. Для получения отличий есть вспомогательный класс :class:`from yandex_music.utils.difference.Difference`.
@ -821,7 +900,7 @@ class Client(YandexMusicObject):
kind (:obj:`str` | :obj:`int`): Уникальный идентификатор плейлиста. kind (:obj:`str` | :obj:`int`): Уникальный идентификатор плейлиста.
revision (:obj:`int`): TODO. revision (:obj:`int`): TODO.
diff (:obj:`str`): JSON представления отличий старого и нового плейлиста. diff (:obj:`str`): JSON представления отличий старого и нового плейлиста.
user_id: (:obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом. user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания
ответа от сервера вместо указанного при создании пула. ответа от сервера вместо указанного при создании пула.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос). **kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
@ -851,7 +930,7 @@ class Client(YandexMusicObject):
@log @log
def users_playlists_insert_track(self, kind: Union[str, int], track_id: Union[str, int], album_id: Union[str, int], def users_playlists_insert_track(self, kind: Union[str, int], track_id: Union[str, int], album_id: Union[str, int],
at: int = 0, revision: int = 1, user_id: str = None, at: int = 0, revision: int = 1, user_id: Union[str, int] = None,
timeout: Union[int, float] = None, *args, **kwargs) -> Optional[Playlist]: timeout: Union[int, float] = None, *args, **kwargs) -> Optional[Playlist]:
"""Добавление трека в плейлист. """Добавление трека в плейлист.
@ -863,7 +942,7 @@ class Client(YandexMusicObject):
album_id (:obj:`str` | :obj:`int`): Уникальный идентификатор альбома. album_id (:obj:`str` | :obj:`int`): Уникальный идентификатор альбома.
at (:obj:`int`): Индекс для вставки. at (:obj:`int`): Индекс для вставки.
revision (:obj:`int`): TODO. revision (:obj:`int`): TODO.
user_id: (:obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом. user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания
ответа от сервера вместо указанного при создании пула. ответа от сервера вместо указанного при создании пула.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос). **kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
@ -885,7 +964,7 @@ class Client(YandexMusicObject):
@log @log
def users_playlists_delete_track(self, kind: Union[str, int], from_: int, to: int, revision: int = 1, def users_playlists_delete_track(self, kind: Union[str, int], from_: int, to: int, revision: int = 1,
user_id: str = None, timeout: Union[int, float] = None, user_id: Union[str, int] = None, timeout: Union[int, float] = None,
*args, **kwargs) -> Optional[Playlist]: *args, **kwargs) -> Optional[Playlist]:
"""Удаление треков из плейлиста. """Удаление треков из плейлиста.
@ -896,7 +975,7 @@ class Client(YandexMusicObject):
from_ (:obj:`int`): С какого индекса. from_ (:obj:`int`): С какого индекса.
to (:obj:`int`): По какой индекс. to (:obj:`int`): По какой индекс.
revision (:obj:`int`): TODO. revision (:obj:`int`): TODO.
user_id: (:obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом. user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания
ответа от сервера вместо указанного при создании пула. ответа от сервера вместо указанного при создании пула.
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос). **kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).

ファイルの表示

@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
class Settings(YandexMusicObject): class Settings(YandexMusicObject):
"""Класс представляющий предложения по покупке. """Класс, представляющий предложения по покупке.
Attributes: Attributes:
in_app_products (:obj:`list` из :obj:`yandex_music.Product`): Список объектов класса in_app_products (:obj:`list` из :obj:`yandex_music.Product`): Список объектов класса