yandex_music.base

class yandex_music.base.YandexMusicModel

Bases: YandexMusicObject

Базовый класс для всех моделей библиотеки.

classmethod cleanup_data(data: Dict[str, JSONType] | Sequence[JSONType] | str | int | float | bool | None, client: ClientType | None) Dict[str, ModelFieldType]

Удаляет незадекларированные поля для текущей модели из сырых данных.

Note

Фильтрует только словарь поле:значение. Иначе вернёт пустой dict.

Parameters:
  • data (JSONType) – Поля и значения десериализуемого объекта.

  • client (yandex_music.Client, optional) – Клиент Yandex Music.

Returns:

Отфильтрованные данные.

Return type:

ModelFieldMap

classmethod de_json(data: JSONType, client: ClientType) Self | None

Десериализация объекта.

Note

Переопределяется в дочерних классах когда есть вложенные объекты.

Parameters:
  • data (JSONType) – Поля и значения десериализуемого объекта.

  • client (yandex_music.Client, optional) – Клиент Yandex Music.

Returns:

Десериализованный объект.

Return type:

yandex_music.YandexMusicModel

classmethod de_list(data: Dict[str, JSONType] | Sequence[JSONType] | str | int | float | bool | None, client: ClientType) Sequence[Self]

Десериализация списка объектов.

Note

Переопределяется в дочерних классах, если необходимо.

Например, в сложных объектах где есть вариации подтипов.

Parameters:
  • data (JSONType) – Список словарей с полями и значениями десериализуемого объекта.

  • client (yandex_music.Client, optional) – Клиент Yandex Music.

Returns:

Список десериализованных объектов.

Return type:

list из yandex_music.YandexMusicModel

static is_array_model_data(data: Dict[str, Dict[str, JSONType] | Sequence[JSONType] | str | int | float | bool | None] | Sequence[Dict[str, JSONType] | Sequence[JSONType] | str | int | float | bool | None] | str | int | float | bool | None) TypeGuard[List[Dict[str, Dict[str, Dict[str, JSONType] | Sequence[JSONType] | str | int | float | bool | None] | Sequence[Dict[str, JSONType] | Sequence[JSONType] | str | int | float | bool | None] | str | int | float | bool | None]]]

Проверка на соответствие данных массиву словарей.

Parameters:

data (JSONType) – Данные для проверки.

Returns:

Валидны ли данные.

Return type:

bool

static is_dict_model_data(data: Dict[str, Dict[str, JSONType] | Sequence[JSONType] | str | int | float | bool | None] | Sequence[Dict[str, JSONType] | Sequence[JSONType] | str | int | float | bool | None] | str | int | float | bool | None) TypeGuard[Dict[str, Dict[str, Dict[str, JSONType] | Sequence[JSONType] | str | int | float | bool | None] | Sequence[Dict[str, JSONType] | Sequence[JSONType] | str | int | float | bool | None] | str | int | float | bool | None]]

Проверка на соответствие данных словарю.

Parameters:

data (JSONType) – Данные для проверки.

Returns:

Валидны ли данные.

Return type:

bool

static report_unknown_fields_callback(klass: type, unknown_fields: Dict[str, Dict[str, JSONType] | Sequence[JSONType] | str | int | float | bool | None] | Sequence[Dict[str, JSONType] | Sequence[JSONType] | str | int | float | bool | None] | str | int | float | bool | None) None

Обратный вызов для обработки неизвестных полей.

to_dict(for_request: bool = False) Dict[str, Dict[str, JSONType] | Sequence[JSONType] | str | int | float | bool | None] | Sequence[Dict[str, JSONType] | Sequence[JSONType] | str | int | float | bool | None] | str | int | float | bool | None

Рекурсивная сериализация объекта.

Parameters:

for_request (bool) – Перевести ли обратно все поля в camelCase и игнорировать зарезервированные слова.

Note

Исключает из сериализации client и _id_attrs необходимые в __eq__.

К зарезервированным словам добавляет “_” в конец.

Returns:

Сериализованный в dict объект.

Return type:

dict

to_json(for_request: bool = False) str

Сериализация объекта.

Parameters:

for_request (bool) – Подготовить ли объект для отправки в теле запроса.

Returns:

Сериализованный в JSON объект.

Return type:

str

static valid_async_client(client: ClientType | None) TypeGuard[ClientAsync]

Проверка что клиент передан и является асинхронным.

Parameters:

client (Optional['ClientType']) – Клиент для проверки.

Returns:

Асинхронный ли клиент.

Return type:

bool

static valid_client(client: ClientType | None) TypeGuard[Client]

Проверка что клиент передан и является синхронным.

Parameters:

client (Optional['ClientType']) – Клиент для проверки.

Returns:

Синхронный ли клиент.

Return type:

bool

class yandex_music.base.YandexMusicObject

Bases: object

Базовый класс для всех классов библиотеки.