yandex_music.utils.difference#

class yandex_music.utils.difference.Difference#

Bases: object

Класс, представляющий обёртку над созданием данных для запроса изменения плейлиста.

Note

Результатом является перечень (массив) операций, которые будут применены к плейлисту.

Конечной разницей (набором операций) является JSON, который будет отправлен в теле запроса.

operations#

Перечень операция для изменения плейлиста.

Type:

list из dict

add_delete(from_: int, to: int) Difference#

Добавление операции удаления.

Note

Передаётся диапазон для удаления треков.

Parameters:
  • from (int) – С какого индекса.

  • to (int) – По какой индекс.

Returns:

Набор операций над плейлистом.

Return type:

yandex_music.utils.difference.Difference

add_insert(at: int, tracks: dict | List[dict]) Difference#

Добавление операции вставки.

Note

В tracks передаётся словарь с двумя ключами: id, album_id. Это нужно для формирования операции.

Parameters:
  • at (int) – Индекс для вставки.

  • tracks (dict | list: из :obj:`dict) – Словарь уникальными идентификаторами треков.

Returns:

Набор операций над плейлистом.

Return type:

yandex_music.utils.difference.Difference

to_json() str#

Сериализация всех операций над плейлистом.

Returns:

Сформированное тело для запроса.

Return type:

str

class yandex_music.utils.difference.Operation(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)#

Bases: Enum

Класс перечисления типов операций для изменения плейлиста.

Note

Существует две операции: вставка, удаление.

DELETE = 'delete'#
INSERT = 'insert'#