rpi: eljur table (триместр/промежуток), рендер таблиц в боте; грабли с границами триместров

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
gilfanovr
2026-10-12 08:37:53 +03:00
co-authored by Claude Opus 5.5
parent ed1ea6d207
commit 9c589936e6
+2
View File
@@ -196,6 +196,8 @@ Docker CE 29.9 + Compose v5.6 из репо download.docker.com (в Debian ст
- Школа Morfosis, `https://morfosis.eljur.ru`, ученица 4В-К (`u.2701`). Родительская учётка — `/etc/eljur.env` (root:astra 640), в git нет.
- Скилл Astra **`eljur`** (`ruzzy/astra-bot`, `codex/skills/eljur/`), команда `/usr/local/bin/eljur`: `hw [день]`, `week [день]`, `grades [предмет]` (все оценки по предмету с датами и весом), `avg`, `watch`. Чтение — без подтверждения (`codex/rules/eljur.rules`); в ЭлЖуре ничего не меняется.
- API для родителя у ЭлЖура нет — разбор страниц: вход `POST /ajaxauthorize` (multipart: `username`, `password`, `return_uri`) → JWT-кука `jwt_v_2`, кэш сессии `/var/lib/eljur/cookies` (root:astra 2770/660). Дневник — `/journal-app/u.2701/week.N`; ⚠️ **знак обратный: `week.-1` — следующая неделя, `week.1` — прошлая**. Оценки — `/journal-student-grades-action/u.2701` (ячейки `name`=предмет, `mark_date`, `weight` 1–3, `cell-data`).
- **Таблицы** — `eljur table [-t I|II|III] [--from Д --to Д]`: компактная (~32 знака) таблица 5/4/3/2/Н/средний по предметам в блоке ```…```. Бот Astra с 2026-10-12 рендерит такие блоки моноширинно (HTML `<pre>` + `parse_mode`, при отказе Telegram — обычный текст; `astra-bot` `a9c43e2`, бэкап прежнего `/opt/astra-bot/bot.py.bak-20261012-tables`). Markdown-таблицы `| a | b |` Telegram не рисует.
- ⚠️ **Триместры:** границы — из JSON страницы (`sp_start`/`sp_end`, полночь по Кипру в UTC): I 01.09–27.11, II 01.12–26.02 (2026/27). Страница триместра `/sp.II%20триместр` отдаёт и оценки вне периода (II до начала показывает сентябрьские) — фильтруем по границам.
- ⚠️ Колонка «Средняя» на сайте пустая в HTML (её досчитывает JS) — средний балл считаем сами: взвешенный, «Н» не учитывается, «Общий» — среднее по предметам. На 2026-10-12: общий 4.88.
- **Уведомления о новых оценках** — `eljur-watch.timer` (каждые 30 мин, 07–22) → `eljur watch` (root, токен бота) → Telegram ботом @rasp_contol_bot в чат 607015. Состояние — `/var/lib/eljur/grades.json`; первый запуск 2026-10-12 запомнил 105 оценок без уведомления.