Добавлен класс UserSettings.
Добавлен метод для получения своих настроек. Добавлен метод для получения настроек другого пользователя. Добавлен метод для изменения настроек. Изменено название пакета с status на account. #195
このコミットが含まれているのは:
コミット
5afeaa244b
|
@ -4,15 +4,16 @@ from .settings import Settings
|
|||
from .permission_alerts import PermissionAlerts
|
||||
from .experiments import Experiments
|
||||
|
||||
from .status.status import Status
|
||||
from .status.account import Account
|
||||
from .status.plus import Plus
|
||||
from .status.subscription import Subscription
|
||||
from .status.price import Price
|
||||
from .status.product import Product
|
||||
from .status.auto_renewable import AutoRenewable
|
||||
from .status.passport_phone import PassportPhone
|
||||
from .status.permissions import Permissions
|
||||
from .account.status import Status
|
||||
from .account.account import Account
|
||||
from .account.plus import Plus
|
||||
from .account.user_settings import UserSettings
|
||||
from .account.subscription import Subscription
|
||||
from .account.price import Price
|
||||
from .account.product import Product
|
||||
from .account.auto_renewable import AutoRenewable
|
||||
from .account.passport_phone import PassportPhone
|
||||
from .account.permissions import Permissions
|
||||
|
||||
from .album.album import Album
|
||||
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',
|
||||
'DiscreteScale', 'StationResult', 'Sequence', 'StationTracksResult', 'BriefInfo', 'Description',
|
||||
'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):
|
||||
"""Класс предоставляющий основную информацию об аккаунте пользователя.
|
||||
"""Класс, предоставляющий основную информацию об аккаунте пользователя.
|
||||
|
||||
Attributes:
|
||||
now (:obj:`str`): Текущая дата и время.
|
|
@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class AutoRenewable(YandexMusicObject):
|
||||
"""Класс представляющий автопродление подписки.
|
||||
"""Класс, представляющий автопродление подписки.
|
||||
|
||||
Attributes:
|
||||
expires (:obj:`str`): Дата истечения подписки.
|
|
@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class PassportPhone(YandexMusicObject):
|
||||
"""Класс представляющий номер телефона пользователя.
|
||||
"""Класс, представляющий номер телефона пользователя.
|
||||
|
||||
Attributes:
|
||||
phone (:obj:`str`): Номер телефона.
|
|
@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class Permissions(YandexMusicObject):
|
||||
"""Класс предоставляющий информацию о правах пользователя, их изначальных значениях и даты окончания.
|
||||
"""Класс, предоставляющий информацию о правах пользователя, их изначальных значениях и даты окончания.
|
||||
|
||||
Attributes:
|
||||
until (:obj:`str`): Дата окончания прав.
|
|
@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class Plus(YandexMusicObject):
|
||||
"""Класс представляющий Plus подписку.
|
||||
"""Класс, представляющий Plus подписку.
|
||||
|
||||
Attributes:
|
||||
has_plus (:obj:`bool`): Наличие.
|
|
@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class Price(YandexMusicObject):
|
||||
"""Класс представляющий цену.
|
||||
"""Класс, представляющий цену.
|
||||
|
||||
Attributes:
|
||||
amount (:obj:`int`): Количество единиц.
|
|
@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class Product(YandexMusicObject):
|
||||
"""Класс представляющий продаваемый продукт.
|
||||
"""Класс, представляющий продаваемый продукт.
|
||||
|
||||
Attributes:
|
||||
product_id (:obj:`str`): Уникальный идентификатор.
|
|
@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class Status(YandexMusicObject):
|
||||
"""Класс представляющий подробную информацию об аккаунте пользователя.
|
||||
"""Класс, представляющий подробную информацию об аккаунте пользователя.
|
||||
|
||||
Attributes:
|
||||
account (:obj:`yandex_music.Account`): Объект класса :class:`yandex_music.Account` предоставляющий основную
|
|
@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class Subscription(YandexMusicObject):
|
||||
"""Класс предоставляющий информацию о подписках пользователя.
|
||||
"""Класс, предоставляющий информацию о подписках пользователя.
|
||||
|
||||
Attributes:
|
||||
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, \
|
||||
TracksList, Track, AlbumsLikes, ArtistsLikes, PlaylistsLikes, Feed, PromoCodeStatus, DownloadInfo, Search, \
|
||||
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.difference import Difference
|
||||
from yandex_music.exceptions import InvalidToken, Captcha
|
||||
|
@ -239,6 +239,55 @@ class Client(YandexMusicObject):
|
|||
|
||||
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
|
||||
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)
|
||||
|
||||
@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]:
|
||||
"""Получение плейлиста или списка плейлистов по уникальным идентификаторам.
|
||||
|
||||
Args:
|
||||
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): Если это значение указано, используется как время ожидания
|
||||
ответа от сервера вместо указанного при создании пула.
|
||||
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
|
||||
|
@ -685,14 +763,14 @@ class Client(YandexMusicObject):
|
|||
return Playlist.de_list(result, self)
|
||||
|
||||
@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]:
|
||||
"""Создание плейлиста.
|
||||
|
||||
Args:
|
||||
title (:obj:`str`): Название.
|
||||
visibility (:obj:`str`, optional): Модификатор доступа.
|
||||
user_id: (:obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
|
||||
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
|
||||
timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания
|
||||
ответа от сервера вместо указанного при создании пула.
|
||||
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
|
||||
|
@ -720,13 +798,13 @@ class Client(YandexMusicObject):
|
|||
return Playlist.de_json(result, self)
|
||||
|
||||
@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:
|
||||
"""Удаление плейлиста.
|
||||
|
||||
Args:
|
||||
kind (:obj:`str` | :obj:`int`): Уникальный идентификатор плейлиста.
|
||||
user_id: (:obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
|
||||
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
|
||||
timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания
|
||||
ответа от сервера вместо указанного при создании пула.
|
||||
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
|
||||
|
@ -748,14 +826,14 @@ class Client(YandexMusicObject):
|
|||
return result == 'ok'
|
||||
|
||||
@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]:
|
||||
"""Изменение названия плейлиста.
|
||||
|
||||
Args:
|
||||
kind (:obj:`str` | :obj:`int`): Уникальный идентификатор плейлиста.
|
||||
name (:obj:`str`): Новое название.
|
||||
user_id: (:obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
|
||||
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
|
||||
timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания
|
||||
ответа от сервера вместо указанного при создании пула.
|
||||
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
|
||||
|
@ -778,7 +856,7 @@ class Client(YandexMusicObject):
|
|||
return Playlist.de_json(result, self)
|
||||
|
||||
@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]:
|
||||
"""Изменение видимости плейлиста.
|
||||
|
||||
|
@ -787,7 +865,7 @@ class Client(YandexMusicObject):
|
|||
Args:
|
||||
kind (:obj:`str` | :obj:`int`): Уникальный идентификатор плейлиста.
|
||||
visibility (:obj:`str`): Новое название.
|
||||
user_id: (:obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
|
||||
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
|
||||
timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания
|
||||
ответа от сервера вместо указанного при создании пула.
|
||||
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
|
||||
|
@ -810,8 +888,9 @@ class Client(YandexMusicObject):
|
|||
return Playlist.de_json(result, self)
|
||||
|
||||
@log
|
||||
def users_playlists_change(self, kind: Union[str, int], diff: str, revision: int = 1, user_id: str = None,
|
||||
timeout: Union[int, float] = None, *args, **kwargs) -> Optional[Playlist]:
|
||||
def users_playlists_change(self, kind: Union[str, int], diff: str, revision: int = 1,
|
||||
user_id: Union[str, int] = None, timeout: Union[int, float] = None,
|
||||
*args, **kwargs) -> Optional[Playlist]:
|
||||
"""Изменение плейлиста.
|
||||
|
||||
Для получения отличий есть вспомогательный класс :class:`from yandex_music.utils.difference.Difference`.
|
||||
|
@ -821,7 +900,7 @@ class Client(YandexMusicObject):
|
|||
kind (:obj:`str` | :obj:`int`): Уникальный идентификатор плейлиста.
|
||||
revision (:obj:`int`): TODO.
|
||||
diff (:obj:`str`): JSON представления отличий старого и нового плейлиста.
|
||||
user_id: (:obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
|
||||
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
|
||||
timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания
|
||||
ответа от сервера вместо указанного при создании пула.
|
||||
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
|
||||
|
@ -851,7 +930,7 @@ class Client(YandexMusicObject):
|
|||
|
||||
@log
|
||||
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]:
|
||||
"""Добавление трека в плейлист.
|
||||
|
||||
|
@ -863,7 +942,7 @@ class Client(YandexMusicObject):
|
|||
album_id (:obj:`str` | :obj:`int`): Уникальный идентификатор альбома.
|
||||
at (:obj:`int`): Индекс для вставки.
|
||||
revision (:obj:`int`): TODO.
|
||||
user_id: (:obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
|
||||
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
|
||||
timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания
|
||||
ответа от сервера вместо указанного при создании пула.
|
||||
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
|
||||
|
@ -885,7 +964,7 @@ class Client(YandexMusicObject):
|
|||
|
||||
@log
|
||||
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]:
|
||||
"""Удаление треков из плейлиста.
|
||||
|
||||
|
@ -896,7 +975,7 @@ class Client(YandexMusicObject):
|
|||
from_ (:obj:`int`): С какого индекса.
|
||||
to (:obj:`int`): По какой индекс.
|
||||
revision (:obj:`int`): TODO.
|
||||
user_id: (:obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
|
||||
user_id (:obj:`str` | :obj:`int`, optional): Уникальный идентификатор пользователя владеющим плейлистом.
|
||||
timeout (:obj:`int` | :obj:`float`, optional): Если это значение указано, используется как время ожидания
|
||||
ответа от сервера вместо указанного при создании пула.
|
||||
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
|
||||
|
|
|
@ -7,7 +7,7 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class Settings(YandexMusicObject):
|
||||
"""Класс представляющий предложения по покупке.
|
||||
"""Класс, представляющий предложения по покупке.
|
||||
|
||||
Attributes:
|
||||
in_app_products (:obj:`list` из :obj:`yandex_music.Product`): Список объектов класса
|
||||
|
|
読み込み中…
新しいイシューから参照