Задокументированы следующие классы: Cover, DownloadInfo, Icon, InvocationInfo, PromoCodeStatus, TrackShort.
В многих местах изменено :obj: на :class:
このコミットが含まれているのは:
コミット
7932b40421
|
@ -0,0 +1,6 @@
|
|||
yandex_music.Cover
|
||||
==================
|
||||
|
||||
.. autoclass:: yandex_music.Cover
|
||||
:members:
|
||||
:show-inheritance:
|
|
@ -0,0 +1,6 @@
|
|||
yandex_music.DownloadInfo
|
||||
=========================
|
||||
|
||||
.. autoclass:: yandex_music.DownloadInfo
|
||||
:members:
|
||||
:show-inheritance:
|
|
@ -0,0 +1,6 @@
|
|||
yandex_music.Icon
|
||||
=================
|
||||
|
||||
.. autoclass:: yandex_music.Icon
|
||||
:members:
|
||||
:show-inheritance:
|
|
@ -0,0 +1,6 @@
|
|||
yandex_music.InvocationInfo
|
||||
===========================
|
||||
|
||||
.. autoclass:: yandex_music.InvocationInfo
|
||||
:members:
|
||||
:show-inheritance:
|
|
@ -0,0 +1,6 @@
|
|||
yandex_music.PromoCodeStatus
|
||||
============================
|
||||
|
||||
.. autoclass:: yandex_music.PromoCodeStatus
|
||||
:members:
|
||||
:show-inheritance:
|
|
@ -9,3 +9,9 @@
|
|||
yandex_music.settings
|
||||
yandex_music.permission_alerts
|
||||
yandex_music.experiments
|
||||
yandex_music.track_short
|
||||
yandex_music.promo_code_status
|
||||
yandex_music.invocation_info
|
||||
yandex_music.icon
|
||||
yandex_music.cover
|
||||
yandex_music.download_info
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
yandex_music.TrackShort
|
||||
=======================
|
||||
|
||||
.. autoclass:: yandex_music.TrackShort
|
||||
:members:
|
||||
:show-inheritance:
|
|
@ -54,6 +54,7 @@ class Artist(YandexMusicObject):
|
|||
data['counts'] = Counts.de_json(data.get('counts'), client)
|
||||
data['links'] = Link.de_list(data.get('links'), client)
|
||||
data['popular_tracks'] = Track.de_list(data.get('popular_tracks'), client)
|
||||
# TODO add "decomposed" deserialization
|
||||
|
||||
return cls(client=client, **data)
|
||||
|
||||
|
|
|
@ -20,9 +20,7 @@ class Client(YandexMusicObject):
|
|||
token (:obj:`str`): Уникальный ключ для аутентификации.
|
||||
base_url (:obj:`str`): Ссылка на API Yandex Music.
|
||||
oauth_url (:obj:`str`): Ссылка на OAuth Yandex Music.
|
||||
request (:obj:`yandex_music.utils.request.Request`): Объект вспомогательного класса
|
||||
:obj:`yandex_music.utils.request.Request` для отправки запросов.
|
||||
account (:obj:`yandex_music.Account`): Объект класса :obj:`yandex_music.Account` предоставляющего основную
|
||||
account (:obj:`yandex_music.Account`): Объект класса :class:`yandex_music.Account` предоставляющего основную
|
||||
информацию об аккаунте.
|
||||
|
||||
Args:
|
||||
|
@ -32,7 +30,7 @@ class Client(YandexMusicObject):
|
|||
base_url (:obj:`str`, optional): Ссылка на API Yandex Music.
|
||||
oauth_url (:obj:`str`, optional): Ссылка на OAuth Yandex Music.
|
||||
request (:obj:`yandex_music.utils.request.Request`, optional): Пре-инициализация
|
||||
:obj:`yandex_music.utils.request.Request`.
|
||||
:class:`yandex_music.utils.request.Request`.
|
||||
"""
|
||||
|
||||
def __init__(self, username, password, token=None, base_url=None, oauth_url=None, request=None):
|
||||
|
@ -63,13 +61,13 @@ class Client(YandexMusicObject):
|
|||
token (:obj:`str`, optional): Уникальный ключ для аутентификации.
|
||||
|
||||
Returns:
|
||||
:class:`yandex_music.Client`.
|
||||
:obj:`yandex_music.Client`.
|
||||
"""
|
||||
return cls(username=None, password=None, token=token)
|
||||
|
||||
def generate_token_by_username_and_password(self, username, password, grant_type='password',
|
||||
timeout=None, *args, **kwargs):
|
||||
"""Метод для получения OAuth токена по логину и паролю.
|
||||
"""Метод получения OAuth токена по логину и паролю.
|
||||
|
||||
Args:
|
||||
username (:obj:`str`): Логин клиента (идентификатор).
|
||||
|
@ -100,8 +98,19 @@ class Client(YandexMusicObject):
|
|||
return result.get('access_token')
|
||||
|
||||
@staticmethod
|
||||
def _validate_token(token):
|
||||
"""Примитивная валидация токена."""
|
||||
def _validate_token(token: str):
|
||||
"""Примитивная валидация токена.
|
||||
|
||||
Args:
|
||||
token (:obj:`str`): токен для проверки
|
||||
|
||||
Returns:
|
||||
:obj:`str`: Токен.
|
||||
|
||||
Raises:
|
||||
:class:`yandex_music.exceptions.InvalidToken`: Если токен недействителен.
|
||||
|
||||
"""
|
||||
if any(x.isspace() for x in token):
|
||||
raise InvalidToken()
|
||||
|
||||
|
@ -112,7 +121,7 @@ class Client(YandexMusicObject):
|
|||
|
||||
@property
|
||||
def request(self):
|
||||
""":class:`yandex_music.utils.request.Request`: Экземпляр запроса."""
|
||||
""":obj:`yandex_music.utils.request.Request`: Объект вспомогательного класса для отправки запросов."""
|
||||
return self._request
|
||||
|
||||
def account_status(self, timeout=None, *args, **kwargs):
|
||||
|
@ -124,7 +133,7 @@ class Client(YandexMusicObject):
|
|||
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
|
||||
|
||||
Returns:
|
||||
:class:`yandex_music.Status`: Объекта класса :class:`yandex_music.Status` предоставляющий информацию об
|
||||
:obj:`yandex_music.Status`: Объекта класса :class:`yandex_music.Status` предоставляющий информацию об
|
||||
аккаунте если валиден, иначе :obj:`None`.
|
||||
|
||||
Raises:
|
||||
|
@ -145,8 +154,8 @@ class Client(YandexMusicObject):
|
|||
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
|
||||
|
||||
Returns:
|
||||
:class:`yandex_music.Settings`: Объекта класса :class:`yandex_music.Settings` предоставляющий информацию о
|
||||
предлагаемых продуктах, иначе :obj:`None`.
|
||||
:obj:`yandex_music.Settings`: Объекта класса :class:`yandex_music.Settings` предоставляющий информацию о
|
||||
предлагаемых продуктах, иначе :obj:`None`.
|
||||
|
||||
Raises:
|
||||
:class:`yandex_music.YandexMusicError`
|
||||
|
@ -166,8 +175,8 @@ class Client(YandexMusicObject):
|
|||
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
|
||||
|
||||
Returns:
|
||||
:class:`yandex_music.PermissionAlerts`: Объекта класса :class:`yandex_music.PermissionAlerts`
|
||||
представляющий оповещения, иначе :obj:`None`.
|
||||
:obj:`yandex_music.PermissionAlerts`: Объекта класса :class:`yandex_music.PermissionAlerts`
|
||||
представляющий оповещения, иначе :obj:`None`.
|
||||
|
||||
Raises:
|
||||
:class:`yandex_music.YandexMusicError`
|
||||
|
@ -187,8 +196,8 @@ class Client(YandexMusicObject):
|
|||
**kwargs (:obj:`dict`, optional): Произвольные аргументы (будут переданы в запрос).
|
||||
|
||||
Returns:
|
||||
:class:`yandex_music.Experiments`: Объекта класса :class:`yandex_music.Experiments`
|
||||
представляющий состояния экспериментальных функций, иначе :obj:`None`.
|
||||
:obj:`yandex_music.Experiments`: Объекта класса :class:`yandex_music.Experiments`
|
||||
представляющий состояния экспериментальных функций, иначе :obj:`None`.
|
||||
|
||||
Raises:
|
||||
:class:`yandex_music.YandexMusicError`
|
||||
|
|
|
@ -2,6 +2,34 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class Cover(YandexMusicObject):
|
||||
"""Класс представляющий обложку.
|
||||
|
||||
Attributes:
|
||||
type (:obj:`str`): Тип обложки.
|
||||
uri (:obj:`str`): Ссылка на изображение.
|
||||
items_uri (:obj:`str`): ССписок ссылок на изображения.
|
||||
dir (:obj:`str`): Директория хранения изображения на сервере.
|
||||
version (:obj:`str`): Версия.
|
||||
custom (:obj:`bool`): Является ли обложка пользовательской.
|
||||
prefix (:obj:`str`): Уникальный идентификатор.
|
||||
error (:obj:`str`): Сообщение об ошибке.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Args:
|
||||
type (:obj:`str`, optional): Тип обложки.
|
||||
uri (:obj:`str`, optional): Ссылка на изображение.
|
||||
items_uri (:obj:`str`, optional): ССписок ссылок на изображения.
|
||||
dir (:obj:`str`, optional): Директория хранения изображения на сервере.
|
||||
version (:obj:`str`, optional): Версия.
|
||||
custom (:obj:`bool`, optional): Является ли обложка пользовательской.
|
||||
prefix (:obj:`str`, optional): Уникальный идентификатор.
|
||||
error (:obj:`str`, optional): Сообщение об ошибке.
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :class:`yandex_music.Client` представляющий клиент
|
||||
Yandex Music.
|
||||
**kwargs: Произвольные ключевые аргументы полученные от API.
|
||||
"""
|
||||
|
||||
def __init__(self,
|
||||
type=None,
|
||||
uri=None,
|
||||
|
@ -25,10 +53,20 @@ class Cover(YandexMusicObject):
|
|||
self.client = client
|
||||
|
||||
def download(self, filename):
|
||||
self.client._request.download(self.uri, filename)
|
||||
self.client.request.download(self.uri, filename)
|
||||
|
||||
@classmethod
|
||||
def de_json(cls, data, client):
|
||||
"""Десериализация объекта.
|
||||
|
||||
Args:
|
||||
data (:obj:`dict`): Поля и значения десериализуемого объекта.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Returns:
|
||||
:obj:`yandex_music.Cover`: Объект класса :class:`yandex_music.Cover`.
|
||||
"""
|
||||
if not data:
|
||||
return None
|
||||
|
||||
|
|
|
@ -4,6 +4,29 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class DownloadInfo(YandexMusicObject):
|
||||
"""Класс представляющий информацию о вариантах загрузки трека.
|
||||
|
||||
Attributes:
|
||||
codec (:obj:`str`): Кодек аудиофайла.
|
||||
bitrate_in_kbps (:obj:`int`): Битрейт аудиофайла в кбит/с.
|
||||
gain (:obj:`bool`): Усиление TODO.
|
||||
preview (:obj:`bool`): Предварительный просмотр TODO.
|
||||
download_info_url (:obj:`str`): Ссылка на XML документ содержащий данные для загрузки трека.
|
||||
direct_link (:obj:`str`): Прямая ссылка на загрузку. Доступна после получения ссылки.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Args:
|
||||
codec (:obj:`str`): Кодек аудиофайла.
|
||||
bitrate_in_kbps (:obj:`int`): Битрейт аудиофайла в кбит/с.
|
||||
gain (:obj:`bool`): Усиление TODO.
|
||||
preview (:obj:`bool`): Предварительный просмотр TODO.
|
||||
download_info_url (:obj:`str`): Ссылка на XML документ содержащий данные для загрузки трека.
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :class:`yandex_music.Client` представляющий клиент
|
||||
Yandex Music.
|
||||
**kwargs: Произвольные ключевые аргументы полученные от API.
|
||||
"""
|
||||
|
||||
def __init__(self,
|
||||
codec,
|
||||
bitrate_in_kbps,
|
||||
|
@ -24,6 +47,7 @@ class DownloadInfo(YandexMusicObject):
|
|||
|
||||
@staticmethod
|
||||
def _get_text_node_data(elements):
|
||||
""":obj:`str`: Получение текстовой информации из узлов XML элемента."""
|
||||
for element in elements:
|
||||
nodes = element.childNodes
|
||||
for node in nodes:
|
||||
|
@ -31,8 +55,16 @@ class DownloadInfo(YandexMusicObject):
|
|||
return node.data
|
||||
|
||||
def get_direct_link(self):
|
||||
# Available within one minute after receiving download_info, otherwise 410!
|
||||
result = self.client._request.retrieve(self.download_info_url)
|
||||
"""Получение прямой ссылки на загрузку из XML ответа.
|
||||
|
||||
Метод доступен только одну минуту с момента получения информации о загрузке, иначе 410 ошибка!
|
||||
|
||||
Returns:
|
||||
:obj:`str`: Прямая ссылка на загрузку трека.
|
||||
|
||||
"""
|
||||
|
||||
result = self.client.request.retrieve(self.download_info_url)
|
||||
|
||||
doc = minidom.parseString(result.text)
|
||||
host = self._get_text_node_data(doc.getElementsByTagName('host'))
|
||||
|
@ -44,13 +76,29 @@ class DownloadInfo(YandexMusicObject):
|
|||
return self.direct_link
|
||||
|
||||
def download(self, filename):
|
||||
"""Загрузка трека.
|
||||
|
||||
Args:
|
||||
filename (:obj:`str`): Путь и(или) название файла вместе с расширением.
|
||||
"""
|
||||
|
||||
if self.direct_link is None:
|
||||
self.get_direct_link()
|
||||
|
||||
self.client._request.download(self.direct_link, filename)
|
||||
self.client.request.download(self.direct_link, filename)
|
||||
|
||||
@classmethod
|
||||
def de_json(cls, data, client):
|
||||
"""Десериализация объекта.
|
||||
|
||||
Args:
|
||||
data (:obj:`dict`): Поля и значения десериализуемого объекта.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Returns:
|
||||
:obj:`yandex_music.DownloadInfo`: Объект класса :class:`yandex_music.DownloadInfo`.
|
||||
"""
|
||||
if not data:
|
||||
return None
|
||||
|
||||
|
@ -60,6 +108,17 @@ class DownloadInfo(YandexMusicObject):
|
|||
|
||||
@classmethod
|
||||
def de_list(cls, data, client, get_direct_links=False):
|
||||
"""Десериализация списка объектов.
|
||||
|
||||
Args:
|
||||
data (:obj:`list`): Список словарей с полями и значениями десериализуемого объекта.
|
||||
get_direct_links (:obj:`bool`): Получать ли сразу прямые ссылки на загрузку.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Returns:
|
||||
:obj:`list` из :obj:`yandex_music.DownloadInfo`: Список объектов класса :class:`yandex_music.DownloadInfo`.
|
||||
"""
|
||||
if not data:
|
||||
return []
|
||||
|
||||
|
|
|
@ -5,12 +5,12 @@ class Experiments(YandexMusicObject):
|
|||
"""Класс представления каких-то свистелок-перделок, флажков, режимов экспериментальных функций.
|
||||
|
||||
Attributes:
|
||||
client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
название_эксперимента (:obj:`str`, optional): Содержит режим или состояние, или функцию, или ещё что угодно.
|
||||
|
||||
Args:
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :obj:`yandex_music.Client` представляющий клиент
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :class:`yandex_music.Client` представляющий клиент
|
||||
Yandex Music.
|
||||
**kwargs: Собственно тут и передаются все эти свистелки.
|
||||
"""
|
||||
|
@ -28,11 +28,11 @@ class Experiments(YandexMusicObject):
|
|||
|
||||
Args:
|
||||
data (:obj:`dict`): Поля и значения десериализуемого объекта.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Returns:
|
||||
:obj:`yandex_music.Experiments`: Объект класса :obj:`yandex_music.Experiments`.
|
||||
:obj:`yandex_music.Experiments`: Объект класса :class:`yandex_music.Experiments`.
|
||||
"""
|
||||
if not data:
|
||||
return None
|
||||
|
|
|
@ -2,6 +2,22 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class Icon(YandexMusicObject):
|
||||
"""Класс представляющий иконку.
|
||||
|
||||
Attributes:
|
||||
background_color (:obj:`str`): Цвет заднего фона в HEX.
|
||||
image_url (:obj:`str`): Ссылка на изображение.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Args:
|
||||
background_color (:obj:`str`): Цвет заднего фона в HEX.
|
||||
image_url (:obj:`str`): Ссылка на изображение.
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :class:`yandex_music.Client` представляющий клиент
|
||||
Yandex Music.
|
||||
**kwargs: Произвольные ключевые аргументы полученные от API.
|
||||
"""
|
||||
|
||||
def __init__(self,
|
||||
background_color,
|
||||
image_url,
|
||||
|
@ -14,6 +30,16 @@ class Icon(YandexMusicObject):
|
|||
|
||||
@classmethod
|
||||
def de_json(cls, data, client):
|
||||
"""Десериализация объекта.
|
||||
|
||||
Args:
|
||||
data (:obj:`dict`): Поля и значения десериализуемого объекта.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Returns:
|
||||
:obj:`yandex_music.Icon`: Объект класса :class:`yandex_music.Icon`.
|
||||
"""
|
||||
if not data:
|
||||
return None
|
||||
|
||||
|
|
|
@ -2,6 +2,24 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class InvocationInfo(YandexMusicObject):
|
||||
"""Класс представляющий информацию о запросе.
|
||||
|
||||
Attributes:
|
||||
hostname (:obj:`str`): Имя удалённого сервера.
|
||||
req_id (:obj:`str`): Номер запроса.
|
||||
exec_duration_millis (:obj:`str`): Время выполнения в миллисекундах.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Args:
|
||||
hostname (:obj:`str`): Имя удалённого сервера.
|
||||
req_id (:obj:`str`): Номер запроса.
|
||||
exec_duration_millis (:obj:`str`, optional): Время выполнения в миллисекундах.
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :class:`yandex_music.Client` представляющий клиент
|
||||
Yandex Music.
|
||||
**kwargs: Произвольные ключевые аргументы полученные от API.
|
||||
"""
|
||||
|
||||
def __init__(self,
|
||||
hostname,
|
||||
req_id,
|
||||
|
@ -18,6 +36,16 @@ class InvocationInfo(YandexMusicObject):
|
|||
|
||||
@classmethod
|
||||
def de_json(cls, data, client):
|
||||
"""Десериализация объекта.
|
||||
|
||||
Args:
|
||||
data (:obj:`dict`): Поля и значения десериализуемого объекта.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Returns:
|
||||
:obj:`yandex_music.InvocationInfo`: Объект класса :class:`yandex_music.InvocationInfo`.
|
||||
"""
|
||||
if not data:
|
||||
return None
|
||||
|
||||
|
|
|
@ -5,13 +5,13 @@ class PermissionAlerts(YandexMusicObject):
|
|||
"""Класс представляющий оповещения.
|
||||
|
||||
Attributes:
|
||||
alerts (:obj:`list`): Список оповещений.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex
|
||||
alerts (:obj:`list` из :obj:`str`): Список оповещений.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Args:
|
||||
alerts (:obj:`list`): Список оповещений.
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :obj:`yandex_music.Client` представляющий клиент
|
||||
alerts (:obj:`list` из :obj:`str`): Список оповещений.
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :class:`yandex_music.Client` представляющий клиент
|
||||
Yandex Music.
|
||||
**kwargs: Произвольные ключевые аргументы полученные от API.
|
||||
"""
|
||||
|
@ -30,11 +30,11 @@ class PermissionAlerts(YandexMusicObject):
|
|||
|
||||
Args:
|
||||
data (:obj:`dict`): Поля и значения десериализуемого объекта.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Returns:
|
||||
:obj:`yandex_music.PermissionAlerts`: Объект класса :obj:`yandex_music.PermissionAlerts`.
|
||||
:obj:`yandex_music.PermissionAlerts`: Объект класса :class:`yandex_music.PermissionAlerts`.
|
||||
"""
|
||||
if not data:
|
||||
return None
|
||||
|
|
|
@ -2,6 +2,26 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class PromoCodeStatus(YandexMusicObject):
|
||||
"""Класс представляющий статус активации промо-кода.
|
||||
|
||||
Attributes:
|
||||
status (:obj:`str`): Статус операции.
|
||||
status_desc (:obj:`str`): Описание статуса.
|
||||
account_status (:obj:`yandex_music.Status`): Объект класса :class:`yandex_music.Status` представляющий подробную
|
||||
информацию об аккаунте пользователя.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Args:
|
||||
status (:obj:`str`): Статус операции.
|
||||
status_desc (:obj:`str`): Описание статуса.
|
||||
account_status (:obj:`yandex_music.Status`): Объект класса :class:`yandex_music.Status` представляющий подробную
|
||||
информацию об аккаунте пользователя.
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :class:`yandex_music.Client` представляющий клиент
|
||||
Yandex Music.
|
||||
**kwargs: Произвольные ключевые аргументы полученные от API.
|
||||
"""
|
||||
|
||||
def __init__(self,
|
||||
status,
|
||||
status_desc,
|
||||
|
@ -16,6 +36,16 @@ class PromoCodeStatus(YandexMusicObject):
|
|||
|
||||
@classmethod
|
||||
def de_json(cls, data, client):
|
||||
"""Десериализация объекта.
|
||||
|
||||
Args:
|
||||
data (:obj:`dict`): Поля и значения десериализуемого объекта.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Returns:
|
||||
:obj:`yandex_music.PromoCodeStatus`: Объект класса :class:`yandex_music.PromoCodeStatus`.
|
||||
"""
|
||||
if not data:
|
||||
return None
|
||||
|
||||
|
|
|
@ -5,27 +5,27 @@ class Settings(YandexMusicObject):
|
|||
"""Класс представляющий предложения по покупке.
|
||||
|
||||
Attributes:
|
||||
in_app_products (:obj:`list`): Список объектов класса :obj:`yandex_music.Product` представляющий продаваемые
|
||||
продукты внутри приложения.
|
||||
native_products (:obj:`list`): Список объектов класса :obj:`yandex_music.Product` представляющий продаваемые
|
||||
продукты всплывающими окнами.
|
||||
in_app_products (:obj:`list` из :obj:`yandex_music.Product`): Список объектов класса
|
||||
:class:`yandex_music.Product` представляющий продаваемые продукты внутри приложения.
|
||||
native_products (:obj:`list`) из :obj:`yandex_music.Product`: Список объектов класса
|
||||
:class:`yandex_music.Product` представляющий продаваемые продукты всплывающими окнами.
|
||||
web_payment_url (:obj:`str`): Ссылка для осуществления платежа.
|
||||
web_payment_month_product_price (:obj:`yandex_music.Price`): Объект класса :obj:`yandex_music.Price`
|
||||
web_payment_month_product_price (:obj:`yandex_music.Price`): Объект класса :class:`yandex_music.Price`
|
||||
представляющий цену продукта за месяц.
|
||||
promo_codes_enabled (:obj:`bool`): Доступно ли использование промо-кодов.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Args:
|
||||
in_app_products (:obj:`list`): Список объектов класса :obj:`yandex_music.Product` представляющий продаваемые
|
||||
продукты внутри приложения.
|
||||
native_products (:obj:`list`): Список объектов класса :obj:`yandex_music.Product` представляющий продаваемые
|
||||
продукты всплывающими окнами.
|
||||
in_app_products (:obj:`list` из :obj:`yandex_music.Product`): Список объектов класса
|
||||
:class:`yandex_music.Product` представляющий продаваемые продукты внутри приложения.
|
||||
native_products (:obj:`list`) из :obj:`yandex_music.Product`: Список объектов класса
|
||||
:class:`yandex_music.Product` представляющий продаваемые продукты всплывающими окнами.
|
||||
web_payment_url (:obj:`str`): Ссылка для осуществления платежа.
|
||||
web_payment_month_product_price (:obj:`yandex_music.Price`, optional): Объект класса :obj:`yandex_music.Price`
|
||||
web_payment_month_product_price (:obj:`yandex_music.Price`, optional): Объект класса :class:`yandex_music.Price`
|
||||
представляющий цену продукта за месяц.
|
||||
promo_codes_enabled (:obj:`bool`): Доступно ли использование промо-кодов.
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :obj:`yandex_music.Client` представляющий клиент
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :class:`yandex_music.Client` представляющий клиент
|
||||
Yandex Music.
|
||||
**kwargs: Произвольные ключевые аргументы полученные от API.
|
||||
"""
|
||||
|
@ -52,11 +52,11 @@ class Settings(YandexMusicObject):
|
|||
|
||||
Args:
|
||||
data (:obj:`dict`): Поля и значения десериализуемого объекта.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Returns:
|
||||
:obj:`yandex_music.Settings`: Объект класса :obj:`yandex_music.Settings`.
|
||||
:obj:`yandex_music.Settings`: Объект класса :class:`yandex_music.Settings`.
|
||||
"""
|
||||
if not data:
|
||||
return None
|
||||
|
|
|
@ -18,11 +18,11 @@ class Account(YandexMusicObject):
|
|||
service_available (:obj:`bool`): Доступен ли сервис.
|
||||
hosted_user (:obj:`bool`): Является ли пользователем чьим-то другим.
|
||||
region (:obj:`int`): Регион.
|
||||
passport_phones (:obj:`list`): Список объектов класса :obj:`yandex_music.PassportPhone` представляющие
|
||||
мобильные номера.
|
||||
passport_phones (:obj:`list` из :obj:`yandex_music.PassportPhone`): Список объектов класса
|
||||
:class:`yandex_music.PassportPhone` представляющие мобильные номера.
|
||||
registered_at (:obj:`datetime.datetime`): Дата создания аккаунта.
|
||||
has_info_for_app_metrica (:obj:`bool`): Наличие информации для App Metrica.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Args:
|
||||
|
@ -37,11 +37,11 @@ class Account(YandexMusicObject):
|
|||
service_available (:obj:`bool`): Доступен ли сервис.
|
||||
hosted_user (:obj:`bool`): Является ли пользователем чьим-то другим.
|
||||
region (:obj:`int`, optional): Регион.
|
||||
passport_phones (:obj:`list`): Список объектов класса :obj:`yandex_music.PassportPhone` представляющие
|
||||
мобильные номера.
|
||||
passport_phones (:obj:`list` из :obj:`yandex_music.PassportPhone`): Список объектов класса
|
||||
:class:`yandex_music.PassportPhone` представляющие мобильные номера.
|
||||
registered_at (:obj:`str`, optional): Дата создания учётной записи.
|
||||
has_info_for_app_metrica (:obj:`bool`, optional): Наличие информации для App Metrica.
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :obj:`yandex_music.Client` представляющий клиент
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :class:`yandex_music.Client` представляющий клиент
|
||||
Yandex Music.
|
||||
**kwargs: Произвольные ключевые аргументы полученные от API.
|
||||
"""
|
||||
|
@ -88,11 +88,11 @@ class Account(YandexMusicObject):
|
|||
|
||||
Args:
|
||||
data (:obj:`dict`): Поля и значения десериализуемого объекта.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Returns:
|
||||
:obj:`yandex_music.Account`: Объект класса :obj:`yandex_music.Account`.
|
||||
:obj:`yandex_music.Account`: Объект класса :class:`yandex_music.Account`.
|
||||
"""
|
||||
if not data:
|
||||
return None
|
||||
|
|
|
@ -11,10 +11,10 @@ class AutoRenewable(YandexMusicObject):
|
|||
vendor (:obj:`str`): Продавец.
|
||||
vendor_help_url (:obj:`str`): Ссылка на страницу помощи продавца.
|
||||
product_id (:obj:`str`): Уникальный идентификатор продукта.
|
||||
product (:obj:`yandex_music.Product`): Объект класса :obj:`yandex_music.Product` представляющий продукт.
|
||||
product (:obj:`yandex_music.Product`): Объект класса :class:`yandex_music.Product` представляющий продукт.
|
||||
order_id (:obj:`int`): Уникальный идентификатор заказа.
|
||||
finished (:obj:`bool`): Завершенность автопродления.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Args:
|
||||
|
@ -22,10 +22,10 @@ class AutoRenewable(YandexMusicObject):
|
|||
vendor (:obj:`str`): Продавец.
|
||||
vendor_help_url (:obj:`str`): Ссылка на страницу помощи продавца.
|
||||
product_id (:obj:`str`): Уникальный идентификатор продукта.
|
||||
product (:obj:`yandex_music.Product`): Объект класса :obj:`yandex_music.Product` представляющий продукт.
|
||||
product (:obj:`yandex_music.Product`): Объект класса :class:`yandex_music.Product` представляющий продукт.
|
||||
order_id (:obj:`int`): Уникальный идентификатор заказа.
|
||||
finished (:obj:`bool`): Завершенность автопродления.
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :obj:`yandex_music.Client` представляющий клиент
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :class:`yandex_music.Client` представляющий клиент
|
||||
Yandex Music.
|
||||
**kwargs: Произвольные ключевые аргументы полученные от API.
|
||||
"""
|
||||
|
@ -57,11 +57,11 @@ class AutoRenewable(YandexMusicObject):
|
|||
|
||||
Args:
|
||||
data (:obj:`dict`): Поля и значения десериализуемого объекта.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Returns:
|
||||
:obj:`yandex_music.AutoRenewable`: Объект класса :obj:`yandex_music.AutoRenewable`.
|
||||
:obj:`yandex_music.AutoRenewable`: Объект класса :class:`yandex_music.AutoRenewable`.
|
||||
"""
|
||||
if not data:
|
||||
return None
|
||||
|
@ -77,11 +77,11 @@ class AutoRenewable(YandexMusicObject):
|
|||
|
||||
Args:
|
||||
data (:obj:`list`): Список словарей с полями и значениями десериализуемого объекта.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Returns:
|
||||
:obj:`list`: Список объектов класса :obj:`yandex_music.AutoRenewable`.
|
||||
:obj:`list` из :obj:`yandex_music.AutoRenewable`: Список объектов класса :class:`yandex_music.AutoRenewable`.
|
||||
"""
|
||||
if not data:
|
||||
return []
|
||||
|
|
|
@ -6,12 +6,12 @@ class PassportPhone(YandexMusicObject):
|
|||
|
||||
Attributes:
|
||||
phone (:obj:`str`): Номер телефона.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Args:
|
||||
phone (:obj:`str`): Номер телефона.
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :obj:`yandex_music.Client` представляющий клиент
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :class:`yandex_music.Client` представляющий клиент
|
||||
Yandex Music.
|
||||
**kwargs: Произвольные ключевые аргументы полученные от API.
|
||||
"""
|
||||
|
@ -31,11 +31,11 @@ class PassportPhone(YandexMusicObject):
|
|||
|
||||
Args:
|
||||
data (:obj:`dict`): Поля и значения десериализуемого объекта.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Returns:
|
||||
:obj:`yandex_music.PassportPhone`: Объект класса :obj:`yandex_music.PassportPhone`.
|
||||
:obj:`yandex_music.PassportPhone`: Объект класса :class:`yandex_music.PassportPhone`.
|
||||
"""
|
||||
if not data:
|
||||
return None
|
||||
|
@ -50,11 +50,11 @@ class PassportPhone(YandexMusicObject):
|
|||
|
||||
Args:
|
||||
data (:obj:`list`): Список словарей с полями и значениями десериализуемого объекта.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Returns:
|
||||
:obj:`list`: Список объектов класса :obj:`yandex_music.PassportPhone`.
|
||||
:obj:`list` из :obj:`yandex_music.PassportPhone`: Список объектов класса :class:`yandex_music.PassportPhone`.
|
||||
"""
|
||||
if not data:
|
||||
return []
|
||||
|
|
|
@ -8,16 +8,16 @@ class Permissions(YandexMusicObject):
|
|||
|
||||
Attributes:
|
||||
until (:obj:`datetime.datetime`): Дата окончания прав.
|
||||
values (:obj:`list`): Список прав.
|
||||
default (:obj:`list`): Список изначальных прав.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент
|
||||
values (:obj:`list` из :obj:`str`): Список прав.
|
||||
default (:obj:`list` из :obj:`str`): Список изначальных прав.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент
|
||||
Yandex Music.
|
||||
|
||||
Args:
|
||||
until (:obj:`str`): Дата окончания прав.
|
||||
values (:obj:`list`): Список прав.
|
||||
default (:obj:`list`): Список изначальных прав.
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :obj:`yandex_music.Client` представляющий клиент
|
||||
values (:obj:`list` из :obj:`str`): Список прав.
|
||||
default (:obj:`list` из :obj:`str`): Список изначальных прав.
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :class:`yandex_music.Client` представляющий клиент
|
||||
Yandex Music.
|
||||
**kwargs: Произвольные ключевые аргументы полученные от API.
|
||||
"""
|
||||
|
@ -40,11 +40,11 @@ class Permissions(YandexMusicObject):
|
|||
|
||||
Args:
|
||||
data (:obj:`dict`): Поля и значения десериализуемого объекта.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Returns:
|
||||
:obj:`yandex_music.Permissions`: Объект класса :obj:`yandex_music.Permissions`.
|
||||
:obj:`yandex_music.Permissions`: Объект класса :class:`yandex_music.Permissions`.
|
||||
"""
|
||||
if not data:
|
||||
return None
|
||||
|
|
|
@ -7,13 +7,13 @@ class Plus(YandexMusicObject):
|
|||
Attributes:
|
||||
has_plus (:obj:`bool`): Наличие.
|
||||
is_tutorial_completed (:obj:`bool`): Закончено ли руководство.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Args:
|
||||
has_plus (:obj:`bool`): Наличие.
|
||||
is_tutorial_completed (:obj:`bool`): Закончено ли руководство.
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :obj:`yandex_music.Client` представляющий клиент
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :class:`yandex_music.Client` представляющий клиент
|
||||
Yandex Music.
|
||||
**kwargs: Произвольные ключевые аргументы полученные от API.
|
||||
"""
|
||||
|
@ -34,11 +34,11 @@ class Plus(YandexMusicObject):
|
|||
|
||||
Args:
|
||||
data (:obj:`dict`): Поля и значения десериализуемого объекта.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Returns:
|
||||
:obj:`yandex_music.Plus`: Объект класса :obj:`yandex_music.Plus`.
|
||||
:obj:`yandex_music.Plus`: Объект класса :class:`yandex_music.Plus`.
|
||||
"""
|
||||
if not data:
|
||||
return None
|
||||
|
|
|
@ -7,13 +7,13 @@ class Price(YandexMusicObject):
|
|||
Attributes:
|
||||
amount (:obj:`int`): Количество единиц.
|
||||
currency (:obj:`str`): Валюта.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Args:
|
||||
amount (:obj:`int`): Количество единиц.
|
||||
currency (:obj:`str`): Валюта.
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :obj:`yandex_music.Client` представляющий клиент
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :class:`yandex_music.Client` представляющий клиент
|
||||
Yandex Music.
|
||||
**kwargs: Произвольные ключевые аргументы полученные от API.
|
||||
"""
|
||||
|
@ -34,11 +34,11 @@ class Price(YandexMusicObject):
|
|||
|
||||
Args:
|
||||
data (:obj:`dict`): Поля и значения десериализуемого объекта.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Returns:
|
||||
:obj:`yandex_music.Price`: Объект класса :obj:`yandex_music.Price`.
|
||||
:obj:`yandex_music.Price`: Объект класса :class:`yandex_music.Price`.
|
||||
"""
|
||||
if not data:
|
||||
return None
|
||||
|
|
|
@ -10,18 +10,18 @@ class Product(YandexMusicObject):
|
|||
common_period_duration (:obj:`str`): Длительность общего периода.
|
||||
duration (:obj:`int`): Длительность.
|
||||
trial_duration (:obj:`int`): Длительность испытательного срока.
|
||||
price (:obj:`yandex_music.Price`): Объект класса :obj:`yandex_music.Price` представляющий цену.
|
||||
price (:obj:`yandex_music.Price`): Объект класса :class:`yandex_music.Price` представляющий цену.
|
||||
feature (:obj:`str`): Предоставляемая возможность.
|
||||
debug (:obj:`bool`): Отладочный продукт.
|
||||
features (:obj:`list`): Список предоставляемых возможностей.
|
||||
features (:obj:`list` из :obj:`str`): Список предоставляемых возможностей.
|
||||
description (:obj:`str`): Описание.
|
||||
available (:obj:`bool`): Доступна ли покупка.
|
||||
trial_available (:obj:`bool`): Доступен ли испытательный срок.
|
||||
vendor_trial_available (:obj:`bool`): Доступен испытательный срок продавца TODO.
|
||||
button_text (:obj:`str`): Текст кнопки.
|
||||
button_additional_text (:obj:`str`): Дополнительный текст кнопки.
|
||||
payment_method_types (:obj:`list`): Способы оплаты.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex
|
||||
payment_method_types (:obj:`list` из :obj:`str`): Способы оплаты.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Args:
|
||||
|
@ -30,18 +30,18 @@ class Product(YandexMusicObject):
|
|||
common_period_duration (:obj:`str`): Длительность общего периода.
|
||||
duration (:obj:`int`): Длительность.
|
||||
trial_duration (:obj:`int`): Длительность испытательного срока.
|
||||
price (:obj:`yandex_music.Price`): Объект класса :obj:`yandex_music.Price` представляющий цену.
|
||||
price (:obj:`yandex_music.Price`): Объект класса :class:`yandex_music.Price` представляющий цену.
|
||||
feature (:obj:`str`): Предоставляемая возможность.
|
||||
debug (:obj:`bool`): Отладочный продукт.
|
||||
features (:obj:`list`, optional): Список предоставляемых возможностей.
|
||||
features (:obj:`list` из :obj:`str`, optional): Список предоставляемых возможностей.
|
||||
description (:obj:`str`, optional): Описание.
|
||||
available (:obj:`bool`, optional): Доступна ли покупка.
|
||||
trial_available (:obj:`bool`, optional): Доступен ли испытательный срок.
|
||||
vendor_trial_available (:obj:`bool`, optional): Доступен испытательный срок продавца TODO.
|
||||
button_text (:obj:`str`, optional): Текст кнопки.
|
||||
button_additional_text (:obj:`str`, optional): Дополнительный текст кнопки.
|
||||
payment_method_types (:obj:`list`, optional): Способы оплаты.
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :obj:`yandex_music.Client` представляющий клиент
|
||||
payment_method_types (:obj:`list` из :obj:`str`, optional): Способы оплаты.
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :class:`yandex_music.Client` представляющий клиент
|
||||
Yandex Music.
|
||||
**kwargs: Произвольные ключевые аргументы полученные от API.
|
||||
"""
|
||||
|
@ -92,11 +92,11 @@ class Product(YandexMusicObject):
|
|||
|
||||
Args:
|
||||
data (:obj:`dict`): Поля и значения десериализуемого объекта.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Returns:
|
||||
:obj:`yandex_music.Product`: Объект класса :obj:`yandex_music.Product`.
|
||||
:obj:`yandex_music.Product`: Объект класса :class:`yandex_music.Product`.
|
||||
"""
|
||||
if not data:
|
||||
return None
|
||||
|
@ -112,11 +112,11 @@ class Product(YandexMusicObject):
|
|||
|
||||
Args:
|
||||
data (:obj:`list`): Список словарей с полями и значениями десериализуемого объекта.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Returns:
|
||||
:obj:`list`: Список объектов класса :obj:`yandex_music.Product`.
|
||||
:obj:`list` из :obj:`yandex_music.Product`: Список объектов класса :class:`yandex_music.Product`.
|
||||
"""
|
||||
if not data:
|
||||
return []
|
||||
|
|
|
@ -5,41 +5,41 @@ class Status(YandexMusicObject):
|
|||
"""Класс представляющий подробную информацию об аккаунте пользователя.
|
||||
|
||||
Attributes:
|
||||
account (:obj:`yandex_music.Account`): Объект класса :obj:`yandex_music.Account` предоставляющий основную
|
||||
account (:obj:`yandex_music.Account`): Объект класса :class:`yandex_music.Account` предоставляющий основную
|
||||
информацию об аккаунте.
|
||||
permissions (:obj:`yandex_music.Permissions`): Объект класса :obj:`yandex_music.Permissions` предоставляющий
|
||||
permissions (:obj:`yandex_music.Permissions`): Объект класса :class:`yandex_music.Permissions` предоставляющий
|
||||
информацию о правах пользователя.
|
||||
subscription (:obj:`yandex_music.Subscription`): Объект класса :obj:`yandex_music.Subscription` предоставляющий
|
||||
subscription (:obj:`yandex_music.Subscription`): Объект класса :class:`yandex_music.Subscription` предоставляющий
|
||||
информацию о подписках
|
||||
cache_limit (:obj:`int`): Максимальное количество загруженных треков.
|
||||
subeditor (:obj:`bool`): Наличие статуса модератора проверки корректности информации.
|
||||
subeditor_level (:obj:`int`): Уровень статуса модератора.
|
||||
plus (:obj:`yandex_music.Plus`): Объект класса :obj:`yandex_music.Plus` предоставляющий информацию о Plus
|
||||
plus (:obj:`yandex_music.Plus`): Объект класса :class:`yandex_music.Plus` предоставляющий информацию о Plus
|
||||
подписке.
|
||||
default_email (:obj:`str`): Основной e-mail адрес аккаунта.
|
||||
skips_per_hour (:obj:`int`): Количество переключение треков на радио в час.
|
||||
station_exists (:obj:`bool`): Наличие станции TODO.
|
||||
premium_region (:obj:`int`): Регион TODO.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Args:
|
||||
account (:obj:`yandex_music.Account`): Объект класса :obj:`yandex_music.Account` предоставляющий основную
|
||||
account (:obj:`yandex_music.Account`): Объект класса :class:`yandex_music.Account` предоставляющий основную
|
||||
информацию об аккаунте.
|
||||
permissions (:obj:`yandex_music.Permissions`): Объект класса :obj:`yandex_music.Permissions` предоставляющий
|
||||
permissions (:obj:`yandex_music.Permissions`): Объект класса :class:`yandex_music.Permissions` предоставляющий
|
||||
информацию о правах пользователя.
|
||||
subscription (:obj:`yandex_music.Subscription`): Объект класса :obj:`yandex_music.Subscription` предоставляющий
|
||||
subscription (:obj:`yandex_music.Subscription`): Объект класса :class:`yandex_music.Subscription` предоставляющий
|
||||
информацию о подписках
|
||||
cache_limit (:obj:`int`, optional): Максимальное количество загруженных треков.
|
||||
subeditor (:obj:`bool`, optional): Наличие статуса модератора проверки корректности информации.
|
||||
subeditor_level (:obj:`int`, optional): Уровень статуса модератора.
|
||||
plus (:obj:`yandex_music.Plus`, optional): Объект класса :obj:`yandex_music.Plus` предоставляющий информацию о
|
||||
plus (:obj:`yandex_music.Plus`, optional): Объект класса :class:`yandex_music.Plus` предоставляющий информацию о
|
||||
Plus подписке.
|
||||
default_email (:obj:`str`, optional): Основной e-mail адрес аккаунта.
|
||||
skips_per_hour (:obj:`int`, optional): Количество переключение треков на радио в час.
|
||||
station_exists (:obj:`bool`, optional): Наличие станции TODO.
|
||||
premium_region (:obj:`int`, optional): Регион TODO.
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :obj:`yandex_music.Client` представляющий клиент
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :class:`yandex_music.Client` представляющий клиент
|
||||
Yandex Music.
|
||||
**kwargs: Произвольные ключевые аргументы полученные от API.
|
||||
"""
|
||||
|
@ -80,11 +80,11 @@ class Status(YandexMusicObject):
|
|||
|
||||
Args:
|
||||
data (:obj:`dict`): Поля и значения десериализуемого объекта.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Returns:
|
||||
:obj:`yandex_music.Status`: Объект класса :obj:`yandex_music.Status`.
|
||||
:obj:`yandex_music.Status`: Объект класса :class:`yandex_music.Status`.
|
||||
"""
|
||||
if not data:
|
||||
return None
|
||||
|
|
|
@ -7,21 +7,21 @@ class Subscription(YandexMusicObject):
|
|||
"""Класс предоставляющий информацию о подписках пользователя.
|
||||
|
||||
Attributes:
|
||||
auto_renewable (:obj:`list`): Список объектов класса :obj:`yandex_music.AutoRenewable` представляющих
|
||||
автопродление.
|
||||
auto_renewable (:obj:`list` из :obj:`yandex_music.AutoRenewable`): Список объектов класса
|
||||
:class:`yandex_music.AutoRenewable` представляющих автопродление.
|
||||
can_start_trial (:obj:`bool`): Есть ли возможность начать пробный период.
|
||||
mcdonalds (:obj:`bool`): mcdonalds TODO.
|
||||
end (:obj:`datetime.datetime`): Дата окончания.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Args:
|
||||
auto_renewable (:obj:`list`, optional): Список объектов класса :obj:`yandex_music.AutoRenewable` представляющих
|
||||
автопродление.
|
||||
auto_renewable (:obj:`list` из :obj:`yandex_music.AutoRenewable`, optional): Список объектов класса
|
||||
:class:`yandex_music.AutoRenewable` представляющих автопродление.
|
||||
can_start_trial (:obj:`bool`, optional): Есть ли возможность начать пробный период.
|
||||
mcdonalds (:obj:`bool`, optional): mcdonalds TODO.
|
||||
end (:obj:`str`, optional): Дата окончания.
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :obj:`yandex_music.Client` представляющий клиент
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :class:`yandex_music.Client` представляющий клиент
|
||||
Yandex Music.
|
||||
**kwargs: Произвольные ключевые аргументы полученные от API.
|
||||
"""
|
||||
|
@ -46,11 +46,11 @@ class Subscription(YandexMusicObject):
|
|||
|
||||
Args:
|
||||
data (:obj:`dict`): Поля и значения десериализуемого объекта.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Returns:
|
||||
:obj:`yandex_music.Subscription`: Объект класса :obj:`yandex_music.Subscription`.
|
||||
:obj:`yandex_music.Subscription`: Объект класса :class:`yandex_music.Subscription`.
|
||||
"""
|
||||
if not data:
|
||||
return None
|
||||
|
|
|
@ -4,6 +4,24 @@ from yandex_music import YandexMusicObject
|
|||
|
||||
|
||||
class TrackShort(YandexMusicObject):
|
||||
"""Класс представляющий укороченную версию трека с неполными данными.
|
||||
|
||||
Attributes:
|
||||
id (:obj:`str`): Уникальный идентификатор трека.
|
||||
timestamp (:obj:`datetime.datetime`): Дата TODO.
|
||||
album_id (:obj:`str`): Уникальный идентификатор альбома.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Args:
|
||||
id (:obj:`str`): Уникальный идентификатор трека.
|
||||
timestamp (:obj:`str`): Дата TODO.
|
||||
album_id (:obj:`str`, optional): Уникальный идентификатор альбома.
|
||||
client (:obj:`yandex_music.Client`, optional): Объект класса :class:`yandex_music.Client` представляющий клиент
|
||||
Yandex Music.
|
||||
**kwargs: Произвольные ключевые аргументы полученные от API.
|
||||
"""
|
||||
|
||||
def __init__(self,
|
||||
id,
|
||||
timestamp,
|
||||
|
@ -21,6 +39,7 @@ class TrackShort(YandexMusicObject):
|
|||
|
||||
@property
|
||||
def track(self):
|
||||
""":obj:`yandex_music.Track`: Объект класса :class:`yandex_music.Track` представляющий полную версию трека."""
|
||||
if self._track:
|
||||
return self._track
|
||||
|
||||
|
@ -30,10 +49,22 @@ class TrackShort(YandexMusicObject):
|
|||
|
||||
@property
|
||||
def track_id(self):
|
||||
""":obj:`str`: Уникальный идентификатор трека состоящий из его номера и номера альбома."""
|
||||
|
||||
return f'{self.id}{":" + self.album_id if self.album_id else ""}'
|
||||
|
||||
@classmethod
|
||||
def de_json(cls, data, client):
|
||||
"""Десериализация объекта.
|
||||
|
||||
Args:
|
||||
data (:obj:`dict`): Поля и значения десериализуемого объекта.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Returns:
|
||||
:obj:`yandex_music.TrackShort`: Объект класса :class:`yandex_music.TrackShort`.
|
||||
"""
|
||||
if not data:
|
||||
return None
|
||||
|
||||
|
@ -43,6 +74,16 @@ class TrackShort(YandexMusicObject):
|
|||
|
||||
@classmethod
|
||||
def de_list(cls, data, client):
|
||||
"""Десериализация списка объектов.
|
||||
|
||||
Args:
|
||||
data (:obj:`list`): Список словарей с полями и значениями десериализуемого объекта.
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
|
||||
Returns:
|
||||
:obj:`list` из :obj:`yandex_music.TrackShort`: Список объектов класса :class:`yandex_music.TrackShort`.
|
||||
"""
|
||||
if not data:
|
||||
return []
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ class Request(object):
|
|||
Вспомогателньный класс для yandex_music предоставляющий методы для выполнения POST и GET запросов, скачивания файлов.
|
||||
|
||||
Args:
|
||||
client (:obj:`yandex_music.Client`): Объект класса :obj:`yandex_music.Client` представляющий клиент Yandex
|
||||
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
|
||||
Music.
|
||||
headers (:obj:`dict`, optional): Заголовки передаваемые с каждым запросом.
|
||||
proxies (:obj:`dict`, optional): Прокси.
|
||||
|
|
読み込み中…
新しいイシューから参照