Добавлен класс UserSettings.
Добавлен метод для получения своих настроек. Добавлен метод для получения настроек другого пользователя. Добавлен метод для изменения настроек. Изменено название пакета с status на account. #195
このコミットが含まれているのは:
コミット
5afeaa244b
|
@ -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`): Список объектов класса
|
|
@ -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`): Список объектов класса
|
||||||
|
|
読み込み中…
新しいイシューから参照