Добавлена документация de_json и de_list методов всем классам. Местами внесены исправления.

このコミットが含まれているのは:
Il`ya 2020-01-26 16:17:09 +03:00
コミット 77f263a728
56個のファイルの変更787行の追加10行の削除

ファイルの表示

@ -1,7 +1,7 @@
yandex_music.utils.request.Response
===================================
yandex_music.utils.response.Response
====================================
.. autoclass:: yandex_music.utils.request.Response
.. autoclass:: yandex_music.utils.response.Response
:members:
:undoc-members:
:show-inheritance:

ファイルの表示

@ -59,6 +59,7 @@ class Label(YandexMusicObject):
data (:obj:`list`): Список словарей с полями и значениями десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент
Yandex Music.
Returns:
:obj:`list` из :obj:`yandex_music.Label`: Список объектов класса :class:`yandex_music.Label`.
"""

ファイルの表示

@ -20,6 +20,16 @@ class TrackPosition(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['TrackPosition']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.TrackPosition`: Объект класса :class:`yandex_music.TrackPosition`.
"""
if not data:
return None

ファイルの表示

@ -109,6 +109,16 @@ class Artist(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['Artist']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.Artist`: Объект класса :class:`yandex_music.Artist`.
"""
if not data:
return None
@ -126,6 +136,16 @@ class Artist(YandexMusicObject):
@classmethod
def de_list(cls, data: dict, client: 'Client') -> List['Artist']:
"""Десериализация списка объектов.
Args:
data (:obj:`list`): Список словарей с полями и значениями десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`list` из :obj:`yandex_music.Artist`: Список объектов класса :class:`yandex_music.Artist`.
"""
if not data:
return []

ファイルの表示

@ -24,6 +24,16 @@ class Counts(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['Counts']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.Counts`: Объект класса :class:`yandex_music.Counts`.
"""
if not data:
return None

ファイルの表示

@ -23,6 +23,16 @@ class Ratings(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['Ratings']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.Ratings`: Объект класса :class:`yandex_music.Ratings`.
"""
if not data:
return None

ファイルの表示

@ -1,11 +1,14 @@
from abc import ABCMeta
from typing import Optional
import builtins
from abc import ABCMeta
from typing import TYPE_CHECKING, Optional
if TYPE_CHECKING:
from yandex_music import Client
ujson: bool = False
try:
import ujson as json
ujson = True
except ImportError:
import json
@ -27,7 +30,17 @@ class YandexMusicObject:
return self.__dict__[item]
@classmethod
def de_json(cls, data: dict, client) -> Optional[dict]:
def de_json(cls, data: dict, client: Optional['Client']) -> Optional[dict]:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.YandexMusicObject`: Объект класса :class:`yandex_music.YandexMusicObject`.
"""
if not data:
return None

ファイルの表示

@ -20,6 +20,16 @@ class AlbumEvent(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['AlbumEvent']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.AlbumEvent`: Объект класса :class:`yandex_music.AlbumEvent`.
"""
if not data:
return None
@ -32,6 +42,16 @@ class AlbumEvent(YandexMusicObject):
@classmethod
def de_list(cls, data: dict, client: 'Client') -> List['AlbumEvent']:
"""Десериализация списка объектов.
Args:
data (:obj:`list`): Список словарей с полями и значениями десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`list` из :obj:`yandex_music.AlbumEvent`: Список объектов класса :class:`yandex_music.AlbumEvent`.
"""
if not data:
return []

ファイルの表示

@ -22,6 +22,16 @@ class ArtistEvent(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['ArtistEvent']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.ArtistEvent`: Объект класса :class:`yandex_music.ArtistEvent`.
"""
if not data:
return None
@ -35,6 +45,16 @@ class ArtistEvent(YandexMusicObject):
@classmethod
def de_list(cls, data: dict, client: 'Client') -> List['ArtistEvent']:
"""Десериализация списка объектов.
Args:
data (:obj:`list`): Список словарей с полями и значениями десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`list` из :obj:`yandex_music.ArtistEvent`: Список объектов класса :class:`yandex_music.ArtistEvent`.
"""
if not data:
return []

ファイルの表示

@ -24,6 +24,16 @@ class Day(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['Day']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.Day`: Объект класса :class:`yandex_music.Day`.
"""
if not data:
return None
@ -37,6 +47,16 @@ class Day(YandexMusicObject):
@classmethod
def de_list(cls, data: dict, client: 'Client') -> List['Day']:
"""Десериализация списка объектов.
Args:
data (:obj:`list`): Список словарей с полями и значениями десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`list` из :obj:`yandex_music.Day`: Список объектов класса :class:`yandex_music.Day`.
"""
if not data:
return []

ファイルの表示

@ -37,6 +37,16 @@ class Event(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['Event']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.Event`: Объект класса :class:`yandex_music.Event`.
"""
if not data:
return None
@ -50,6 +60,16 @@ class Event(YandexMusicObject):
@classmethod
def de_list(cls, data: dict, client: 'Client') -> List['Event']:
"""Десериализация списка объектов.
Args:
data (:obj:`list`): Список словарей с полями и значениями десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`list` из :obj:`yandex_music.Event`: Список объектов класса :class:`yandex_music.Event`.
"""
if not data:
return []

ファイルの表示

@ -33,6 +33,16 @@ class Feed(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['Feed']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.Feed`: Объект класса :class:`yandex_music.Feed`.
"""
if not data:
return None

ファイルの表示

@ -24,6 +24,16 @@ class GeneratedPlaylist(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['GeneratedPlaylist']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.GeneratedPlaylist`: Объект класса :class:`yandex_music.GeneratedPlaylist`.
"""
if not data:
return None
@ -35,6 +45,17 @@ class GeneratedPlaylist(YandexMusicObject):
@classmethod
def de_list(cls, data: dict, client: 'Client') -> List['GeneratedPlaylist']:
"""Десериализация списка объектов.
Args:
data (:obj:`list`): Список словарей с полями и значениями десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`list` из :obj:`yandex_music.GeneratedPlaylist`: Список объектов класса
:class:`yandex_music.GeneratedPlaylist`.
"""
if not data:
return []

ファイルの表示

@ -20,6 +20,16 @@ class TrackWithAds(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['TrackWithAds']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.TrackWithAds`: Объект класса :class:`yandex_music.TrackWithAds`.
"""
if not data:
return None
@ -31,6 +41,16 @@ class TrackWithAds(YandexMusicObject):
@classmethod
def de_list(cls, data: dict, client: 'Client') -> List['TrackWithAds']:
"""Десериализация списка объектов.
Args:
data (:obj:`list`): Список словарей с полями и значениями десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`list` из :obj:`yandex_music.TrackWithAds`: Список объектов класса :class:`yandex_music.TrackWithAds`.
"""
if not data:
return []

ファイルの表示

@ -43,6 +43,16 @@ class Genre(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['Genre']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.Genre`: Объект класса :class:`yandex_music.Genre`.
"""
if not data:
return None
@ -57,6 +67,16 @@ class Genre(YandexMusicObject):
@classmethod
def de_list(cls, data: dict, client: 'Client') -> List['Genre']:
"""Десериализация списка объектов.
Args:
data (:obj:`list`): Список словарей с полями и значениями десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`list` из :obj:`yandex_music.Genre`: Список объектов класса :class:`yandex_music.Genre`.
"""
if not data:
return []

ファイルの表示

@ -37,6 +37,16 @@ class Images(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['Images']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.Images`: Объект класса :class:`yandex_music.Images`.
"""
if not data:
return None

ファイルの表示

@ -20,6 +20,16 @@ class Title(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['Title']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.Title`: Объект класса :class:`yandex_music.Title`.
"""
if not data:
return None
@ -29,6 +39,16 @@ class Title(YandexMusicObject):
@classmethod
def de_dict(cls, data, client) -> Dict[str, Optional['Title']]:
"""Десериализация списка объектов.
Args:
data (:obj:`list`): Список словарей с полями и значениями десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`list` из :obj:`yandex_music.Title`: Список объектов класса :class:`yandex_music.Title`.
"""
if not data:
return {}

ファイルの表示

@ -35,6 +35,16 @@ class Block(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['Block']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.Block`: Объект класса :class:`yandex_music.Block`.
"""
if not data:
return None
@ -52,6 +62,16 @@ class Block(YandexMusicObject):
@classmethod
def de_list(cls, data: dict, client: 'Client') -> List['Block']:
"""Десериализация списка объектов.
Args:
data (:obj:`list`): Список словарей с полями и значениями десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`list` из :obj:`yandex_music.Block`: Список объектов класса :class:`yandex_music.Block`.
"""
if not data:
return []

ファイルの表示

@ -35,6 +35,16 @@ class BlockEntity(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['BlockEntity']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.BlockEntity`: Объект класса :class:`yandex_music.BlockEntity`.
"""
if not data:
return None
@ -45,6 +55,16 @@ class BlockEntity(YandexMusicObject):
@classmethod
def de_list(cls, data: dict, client: 'Client') -> List['BlockEntity']:
"""Десериализация списка объектов.
Args:
data (:obj:`list`): Список словарей с полями и значениями десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`list` из :obj:`yandex_music.BlockEntity`: Список объектов класса :class:`yandex_music.BlockEntity`.
"""
if not data:
return []

ファイルの表示

@ -20,6 +20,16 @@ class ChartItem(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['ChartItem']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.ChartItem`: Объект класса :class:`yandex_music.ChartItem`.
"""
if not data:
return None
@ -32,6 +42,16 @@ class ChartItem(YandexMusicObject):
@classmethod
def de_list(cls, data: dict, client: 'Client') -> List['ChartItem']:
"""Десериализация списка объектов.
Args:
data (:obj:`list`): Список словарей с полями и значениями десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`list` из :obj:`yandex_music.ChartItem`: Список объектов класса :class:`yandex_music.ChartItem`.
"""
if not data:
return []

ファイルの表示

@ -26,6 +26,16 @@ class Landing(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['Landing']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.Landing`: Объект класса :class:`yandex_music.Landing`.
"""
if not data:
return None

ファイルの表示

@ -41,6 +41,16 @@ class MixLink(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['MixLink']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.MixLink`: Объект класса :class:`yandex_music.MixLink`.
"""
if not data:
return None
@ -50,6 +60,16 @@ class MixLink(YandexMusicObject):
@classmethod
def de_list(cls, data: dict, client: 'Client') -> List['MixLink']:
"""Десериализация списка объектов.
Args:
data (:obj:`list`): Список словарей с полями и значениями десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`list` из :obj:`yandex_music.MixLink`: Список объектов класса :class:`yandex_music.MixLink`.
"""
if not data:
return []

ファイルの表示

@ -18,6 +18,16 @@ class PersonalPlaylistsData(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['PersonalPlaylistsData']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.PersonalPlaylistsData`: Объект класса :class:`yandex_music.PersonalPlaylistsData`.
"""
if not data:
return None

ファイルの表示

@ -24,6 +24,16 @@ class PlayContext(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['PlayContext']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.PlayContext`: Объект класса :class:`yandex_music.PlayContext`.
"""
if not data:
return None

ファイルの表示

@ -18,6 +18,16 @@ class PlayContextsData(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['PlayContextsData']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.PlayContextsData`: Объект класса :class:`yandex_music.PlayContextsData`.
"""
if not data:
return None

ファイルの表示

@ -35,6 +35,16 @@ class Promotion(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['Promotion']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.Promotion`: Объект класса :class:`yandex_music.Promotion`.
"""
if not data:
return None
@ -44,6 +54,16 @@ class Promotion(YandexMusicObject):
@classmethod
def de_list(cls, data: dict, client: 'Client') -> List['Promotion']:
"""Десериализация списка объектов.
Args:
data (:obj:`list`): Список словарей с полями и значениями десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`list` из :obj:`yandex_music.Promotion`: Список объектов класса :class:`yandex_music.Promotion`.
"""
if not data:
return []

ファイルの表示

@ -20,6 +20,16 @@ class TrackId(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['TrackId']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.TrackId`: Объект класса :class:`yandex_music.TrackId`.
"""
if not data:
return None

ファイルの表示

@ -20,6 +20,16 @@ class TrackShortOld(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['TrackShortOld']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.TrackShortOld`: Объект класса :class:`yandex_music.TrackShortOld`.
"""
if not data:
return None
@ -31,6 +41,17 @@ class TrackShortOld(YandexMusicObject):
@classmethod
def de_list(cls, data: dict, client: 'Client') -> List['TrackShortOld']:
"""Десериализация списка объектов.
Args:
data (:obj:`list`): Список словарей с полями и значениями десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`list` из :obj:`yandex_music.TrackShortOld`: Список объектов класса
:class:`yandex_music.TrackShortOld`.
"""
if not data:
return []

ファイルの表示

@ -22,6 +22,16 @@ class AlbumsLikes(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['AlbumsLikes']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.AlbumsLikes`: Объект класса :class:`yandex_music.AlbumsLikes`.
"""
if not data:
return None
@ -33,6 +43,16 @@ class AlbumsLikes(YandexMusicObject):
@classmethod
def de_list(cls, data: dict, client: 'Client') -> List['AlbumsLikes']:
"""Десериализация списка объектов.
Args:
data (:obj:`list`): Список словарей с полями и значениями десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`list` из :obj:`yandex_music.AlbumsLikes`: Список объектов класса :class:`yandex_music.AlbumsLikes`.
"""
if not data:
return []

ファイルの表示

@ -22,6 +22,16 @@ class ArtistsLikes(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['ArtistsLikes']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.ArtistsLikes`: Объект класса :class:`yandex_music.ArtistsLikes`.
"""
if not data:
return None
@ -38,6 +48,16 @@ class ArtistsLikes(YandexMusicObject):
@classmethod
def de_list(cls, data: dict, client: 'Client') -> List['ArtistsLikes']:
"""Десериализация списка объектов.
Args:
data (:obj:`list`): Список словарей с полями и значениями десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`list` из :obj:`yandex_music.ArtistsLikes`: Список объектов класса :class:`yandex_music.ArtistsLikes`.
"""
if not data:
return []

ファイルの表示

@ -22,6 +22,16 @@ class PlaylistsLikes(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['PlaylistsLikes']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.PlaylistsLikes`: Объект класса :class:`yandex_music.PlaylistsLikes`.
"""
if not data:
return None
@ -33,6 +43,17 @@ class PlaylistsLikes(YandexMusicObject):
@classmethod
def de_list(cls, data: dict, client: 'Client') -> List['PlaylistsLikes']:
"""Десериализация списка объектов.
Args:
data (:obj:`list`): Список словарей с полями и значениями десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`list` из :obj:`yandex_music.PlaylistsLikes`: Список объектов класса
:class:`yandex_music.PlaylistsLikes`.
"""
if not data:
return []

ファイルの表示

@ -29,6 +29,16 @@ class CaseForms(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['CaseForms']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.CaseForms`: Объект класса :class:`yandex_music.CaseForms`.
"""
if not data:
return None

ファイルの表示

@ -20,6 +20,16 @@ class MadeFor(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['MadeFor']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.MadeFor`: Объект класса :class:`yandex_music.MadeFor`.
"""
if not data:
return None

ファイルの表示

@ -22,6 +22,16 @@ class PlayCounter(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['PlayCounter']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.PlayCounter`: Объект класса :class:`yandex_music.PlayCounter`.
"""
if not data:
return None

ファイルの表示

@ -129,6 +129,16 @@ class Playlist(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['Playlist']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.Playlist`: Объект класса :class:`yandex_music.Playlist`.
"""
if not data:
return None
@ -149,6 +159,16 @@ class Playlist(YandexMusicObject):
@classmethod
def de_list(cls, data: dict, client: 'Client') -> List['Playlist']:
"""Десериализация списка объектов.
Args:
data (:obj:`list`): Список словарей с полями и значениями десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`list` из :obj:`yandex_music.Playlist`: Список объектов класса :class:`yandex_music.Playlist`.
"""
if not data:
return []

ファイルの表示

@ -34,6 +34,16 @@ class AdParams(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['AdParams']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.AdParams`: Объект класса :class:`yandex_music.AdParams`.
"""
if not data:
return None

ファイルの表示

@ -22,6 +22,16 @@ class Dashboard(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['Dashboard']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.Dashboard`: Объект класса :class:`yandex_music.Dashboard`.
"""
if not data:
return None

ファイルの表示

@ -24,6 +24,16 @@ class DiscreteScale(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['DiscreteScale']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.DiscreteScale`: Объект класса :class:`yandex_music.DiscreteScale`.
"""
if not data:
return None

ファイルの表示

@ -22,6 +22,16 @@ class Enum(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['Enum']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.Enum`: Объект класса :class:`yandex_music.Enum`.
"""
if not data:
return None

ファイルの表示

@ -20,6 +20,16 @@ class Id(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['Id']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.Id`: Объект класса :class:`yandex_music.Id`.
"""
if not data:
return None

ファイルの表示

@ -31,6 +31,16 @@ class Restrictions(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['Restrictions']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.Restrictions`: Объект класса :class:`yandex_music.Restrictions`.
"""
if not data:
return None

ファイルの表示

@ -27,6 +27,16 @@ class RotorSettings(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['RotorSettings']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.RotorSettings`: Объект класса :class:`yandex_music.RotorSettings`.
"""
if not data:
return None

ファイルの表示

@ -22,6 +22,16 @@ class Sequence(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['Sequence']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.Sequence`: Объект класса :class:`yandex_music.Sequence`.
"""
if not data:
return None
@ -33,6 +43,16 @@ class Sequence(YandexMusicObject):
@classmethod
def de_list(cls, data: dict, client: 'Client') -> List['Sequence']:
"""Десериализация списка объектов.
Args:
data (:obj:`list`): Список словарей с полями и значениями десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`list` из :obj:`yandex_music.Sequence`: Список объектов класса :class:`yandex_music.Sequence`.
"""
if not data:
return []

ファイルの表示

@ -36,6 +36,16 @@ class Station(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['Station']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.Station`: Объект класса :class:`yandex_music.Station`.
"""
if not data:
return None

ファイルの表示

@ -28,6 +28,16 @@ class StationResult(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['StationResult']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.StationResult`: Объект класса :class:`yandex_music.StationResult`.
"""
if not data:
return None
@ -42,6 +52,16 @@ class StationResult(YandexMusicObject):
@classmethod
def de_list(cls, data: dict, client: 'Client') -> List['StationResult']:
"""Десериализация списка объектов.
Args:
data (:obj:`list`): Список словарей с полями и значениями десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`list` из :obj:`yandex_music.StationResult`: Список объектов класса :class:`yandex_music.StationResult`.
"""
if not data:
return []

ファイルの表示

@ -24,6 +24,16 @@ class StationTracksResult(YandexMusicObject):
@classmethod
def de_json(cls, data, client) -> Optional['StationTracksResult']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.StationTracksResult`: Объект класса :class:`yandex_music.StationTracksResult`.
"""
if not data:
return None

ファイルの表示

@ -20,6 +20,16 @@ class Value(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['Value']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.Value`: Объект класса :class:`yandex_music.Value`.
"""
if not data:
return None
@ -29,6 +39,16 @@ class Value(YandexMusicObject):
@classmethod
def de_list(cls, data: dict, client: 'Client') -> List['Value']:
"""Десериализация списка объектов.
Args:
data (:obj:`list`): Список словарей с полями и значениями десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`list` из :obj:`yandex_music.Value`: Список объектов класса :class:`yandex_music.Value`.
"""
if not data:
return []

ファイルの表示

@ -31,7 +31,17 @@ class Best(YandexMusicObject):
self._id_attrs = (self.type, self.result)
@classmethod
def de_json(cls, data: dict, client: 'Client'):
def de_json(cls, data: dict, client: 'Client') -> Optional['Best']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.Best`: Объект класса :class:`yandex_music.Best`.
"""
if not data:
return None

ファイルの表示

@ -26,6 +26,16 @@ class Suggestions(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['Suggestions']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.Suggestions`: Объект класса :class:`yandex_music.Suggestions`.
"""
if not data:
return None

ファイルの表示

@ -85,7 +85,7 @@ class VideoSupplement(YandexMusicObject):
Returns:
:obj:`list` из :obj:`yandex_music.VideoSupplement`: Список объектов класса
:class:`yandex_music.VideoSupplement`.
:class:`yandex_music.VideoSupplement`.
"""
if not data:
return []

ファイルの表示

@ -20,6 +20,16 @@ class Major(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['Major']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.Major`: Объект класса :class:`yandex_music.Major`.
"""
if not data:
return None

ファイルの表示

@ -20,6 +20,16 @@ class Normalization(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['Normalization']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.Normalization`: Объект класса :class:`yandex_music.Normalization`.
"""
if not data:
return None

ファイルの表示

@ -127,6 +127,16 @@ class Track(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['Track']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.Track`: Объект класса :class:`yandex_music.Track`.
"""
if not data:
return None
@ -141,6 +151,16 @@ class Track(YandexMusicObject):
@classmethod
def de_list(cls, data: dict, client: 'Client') -> List['Track']:
"""Десериализация списка объектов.
Args:
data (:obj:`list`): Список словарей с полями и значениями десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`list` из :obj:`yandex_music.Track`: Список объектов класса :class:`yandex_music.Track`.
"""
if not data:
return []

ファイルの表示

@ -38,6 +38,16 @@ class SimilarTracks(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['SimilarTracks']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.SimilarTracks`: Объект класса :class:`yandex_music.SimilarTracks`.
"""
if not data:
return None

ファイルの表示

@ -32,7 +32,17 @@ class Response(YandexMusicObject):
return self.data if self._result is None else self._result
@classmethod
def de_json(cls, data: dict, client: 'Client'):
def de_json(cls, data: dict, client: 'Client') -> Optional['Response']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.utils.response.Response`: Объект класса :class:`yandex_music.utils.response.Response`.
"""
if not data:
return None

ファイルの表示

@ -42,6 +42,16 @@ class Video(YandexMusicObject):
@classmethod
def de_json(cls, data: dict, client: 'Client') -> Optional['Video']:
"""Десериализация объекта.
Args:
data (:obj:`dict`): Поля и значения десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`yandex_music.Video`: Объект класса :class:`yandex_music.Video`.
"""
if not data:
return None
@ -51,6 +61,16 @@ class Video(YandexMusicObject):
@classmethod
def de_list(cls, data: dict, client: 'Client') -> List['Video']:
"""Десериализация списка объектов.
Args:
data (:obj:`list`): Список словарей с полями и значениями десериализуемого объекта.
client (:obj:`yandex_music.Client`): Объект класса :class:`yandex_music.Client` представляющий клиент Yandex
Music.
Returns:
:obj:`list` из :obj:`yandex_music.Video`: Список объектов класса :class:`yandex_music.Video`.
"""
if not data:
return []