Обновления
Модуль работы со списком обновлений.
WeekUpdatesT = list[dict[str, list[dict[str, Any]]]]
module-attribute
UpdateData
Bases: TypedDict
Что представляет собой запись об обновлении расписания.
start_time: int
instance-attribute
end_time: int
instance-attribute
updates: WeekUpdatesT
instance-attribute
compact_updates(updates: list[UpdateData]) -> UpdateData
Упаковывает несколько записей об обновлениях в одну.
Используется чтобы совместить несколько записей об изменениях. Например чтобы показать все изменения в расписании за неделю. Или использовать при получении обновлений расписания для пользователя.
Правила совмещения:
- Если урока ранее не было -> добавляем урок.
- Если Урок A, сменился на B, а после снова на A -> удаляем урок.
- Если A -> B, B -> C, то A => C.
- Иначе добавить запись.