Бэкенд: пакет schedule/ по зонам ответственности, обобщённый разбор ячеек

- xlsx.py: чтение книги (мержи, скрытые столбцы, красный текст), фикс дат до 1900
- lessons.py: общая схема ролей (предмет/преподаватель/аудитория/заметка)
  вместо ветвлений по числу строк; маркеры к.в., многострочные заметки,
  ФИО с/без отчества, организации, локации, метки групп -> заметки
- source.py: загрузка с Яндекс.Диска с понятными ошибками
- parsing.py: листы -> расписание, недели семестра, индексы преподов/аудиторий
- cache.py: lock, TTL, проверка modified, stale-while-error с retry cooldown
- main.py: create_app, /healthz, логирование; force-обновление убрано (вернётся с авторизацией)
- переменная окружения SCHEDULE_LINK
This commit is contained in:
2026-09-09 11:33:03 +03:00
parent dcd9b854a0
commit 86c2a3097d
10 changed files with 1601 additions and 1057 deletions

View File

@@ -1,5 +1,6 @@
schedule_link=
SCHEDULE_LINK=
SCHEDULE_CACHE_TTL=900
SCHEDULE_RETRY_AFTER=60
API_PORT=8000
FRONTEND_PORT=8080
SCHEDULE_API=http://api:8000