Базовые классы

Базовые классы.

class yandex_music.base.YandexMusicObject

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

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:

yandex_music.YandexMusicModel

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