Базовые классы
Базовые классы.
- class yandex_music.base.YandexMusicModel
Базовый класс для всех моделей библиотеки.
- static report_unknown_fields_callback(klass, unknown_fields)
Обратный вызов для обработки неизвестных полей.
- static is_dict_model_data(data)
Проверка на соответствие данных словарю.
- Parameters:
data (
JSONType) – Данные для проверки.- Returns:
Валидны ли данные.
- Return type:
bool
- static valid_client(client)
Проверка что клиент передан и является синхронным.
- Parameters:
client (
Optional['ClientType']) – Клиент для проверки.- Returns:
Синхронный ли клиент.
- Return type:
bool
- static valid_async_client(client)
Проверка что клиент передан и является асинхронным.
- Parameters:
client (
Optional['ClientType']) – Клиент для проверки.- Returns:
Асинхронный ли клиент.
- Return type:
bool
- static is_array_model_data(data)
Проверка на соответствие данных массиву словарей.
- Parameters:
data (
JSONType) – Данные для проверки.- Returns:
Валидны ли данные.
- Return type:
bool
- classmethod cleanup_data(data, client)
Нормализует ключи и удаляет незадекларированные поля для текущей модели из сырых данных.
Note
Нормализация ключей (camelCase → snake_case) выполняется лениво на текущем уровне, без рекурсивного обхода вложенных структур. Фильтрует только словарь поле:значение. Иначе вернёт пустой
dict.- Parameters:
data (
JSONType) – Поля и значения десериализуемого объекта.client (
yandex_music.Client, optional) – Клиент Yandex Music.
- Returns:
Отфильтрованные данные с нормализованными ключами.
- Return type:
dict
- classmethod de_json(data, client)
Десериализация объекта.
Note
Переопределяется в дочерних классах когда есть вложенные объекты.
- Parameters:
data (
JSONType) – Поля и значения десериализуемого объекта.client (
yandex_music.Client, optional) – Клиент Yandex Music.
- Returns:
Десериализованный объект.
- Return type:
- classmethod de_list(data, client)
Десериализация списка объектов.
Note
Переопределяется в дочерних классах, если необходимо.
Например, в сложных объектах где есть вариации подтипов.
- Parameters:
data (
JSONType) – Список словарей с полями и значениями десериализуемого объекта.client (
yandex_music.Client, optional) – Клиент Yandex Music.
- Returns:
Список десериализованных объектов.
- Return type:
listизyandex_music.YandexMusicModel
- to_json(for_request=False)
Сериализация объекта.
- Parameters:
for_request (
bool) – Подготовить ли объект для отправки в теле запроса.- Returns:
Сериализованный в JSON объект.
- Return type:
str
- to_dict(for_request=False)
Рекурсивная сериализация объекта.
- Parameters:
for_request (
bool) – Перевести ли обратно все поля в camelCase и игнорировать зарезервированные слова.
Note
Исключает из сериализации client и _id_attrs необходимые в __eq__.
К зарезервированным словам добавляет “_” в конец.
- Returns:
Сериализованный в dict объект.
- Return type:
dict