[2026-09-22] eagle: family/how-to/gitea-config.md family/projects/watchlist-sync.md personal/plans/watchlist-tmdb-missing-marker.md personal/tech/lampac-deployment.md
This commit is contained in:
1 parent
e3618d5001
commit
62c4ba3d06
4 files changed
+199
-15
No files matched your search
@@ -71,14 +71,63 @@ related:
|
||||
/Users/admin/Developer/lampac-scripts/
|
||||
├── scripts/gen_watchlist.py (из gen_watchlist_v2.py — ПРОД-генератор)
|
||||
├── scripts/deploy_lampac.py
|
||||
├── scripts/mark_missing.py (в прод НЕ ставить — см. план, Шаг 1.3)
|
||||
├── scripts/mark_missing.py (маркер ❓, вход — missing.json)
|
||||
└── tests/accept_step1.py, tests/accept_step1_order.py
|
||||
```
|
||||
|
||||
**Первый коммит:** `1765c05` (gitea `git_admin/lampac-scripts`, private).
|
||||
Проверка push: `git rev-parse HEAD` == `git ls-remote origin refs/heads/main`.
|
||||
|
||||
Создание репо через API — `~/lampac-tmp/create_gitea_repo.py` (Python, а не bash:
|
||||
подстановка `$( … | sed … )` вырезается фильтром безопасности — питфолл №2 из
|
||||
[[family/how-to/gitea-config.md]]).
|
||||
|
||||
## 🔎 Резолв позиций в каталоге — три уровня (2026-09-22)
|
||||
|
||||
Генератор ищет фильм по цепочке, от точного к эвристике:
|
||||
|
||||
```
|
||||
1) Radarr по названию
|
||||
2) TMDB по названию как есть
|
||||
2c) Кинопоиск по KP_ID ИЗ ССЫЛКИ .md -> имя/EN-алиас -> TMDB ← машинный ключ
|
||||
2b) Кинопоиск по НАЗВАНИЮ -> имя/EN-алиас -> TMDB ← эвристика
|
||||
3) miss -> позиция в JSON каталога НЕ попадает, имя в missing.json -> ❓ в .md
|
||||
```
|
||||
|
||||
🔴 **2c ВЫШЕ 2b намеренно.** `kp_id` из ссылки — машинный ключ, он не зависит от
|
||||
переименований. Пример: в `.md` «Астрал. Могильный ритуал 2», КП по id `11825624`
|
||||
отдаёт актуальное имя «Могильный ритуал. Зло вернулось» → TMDB **1576953**.
|
||||
Если бы 2b шёл первым, он привязал бы **1-ю часть** (1264397) по общему префиксу.
|
||||
|
||||
🔴 **`KP_SIM_THRESHOLD = 0.75`** — порог близости документа КП к запросу.
|
||||
Документ с `sim ≥ 0.75`, но нерезолвенный в TMDB = **окончательный промах**,
|
||||
дальше перебирать нельзя. Без порога перебор уходил в мусор: по «WeWork»
|
||||
релевантный документ (sim=1.00) не резолвился из-за **латинской `C`** в слове
|
||||
«Cоздание» (дефект данных КП), и скрипт брал `We Work for the Dead` (1135465)
|
||||
вместо `795622`.
|
||||
|
||||
⚠️ Порог и `kp_id` — **числовые/машинные критерии**, не ручной словарь соответствий.
|
||||
Инвариант «никаких ручных правок» не нарушен.
|
||||
|
||||
### `missing.json` и маркер ❓
|
||||
|
||||
Генератор пишет снимок нерезолвленных рядом с каталогом:
|
||||
|
||||
```json
|
||||
{"generated": true, "count": 30, "missing": ["All systems red", "..."]}
|
||||
```
|
||||
|
||||
Маркер ставится **по факту промаха**, а не по тексту `.md`:
|
||||
|
||||
```bash
|
||||
python3 scripts/mark_missing.py --missing <wwwroot>/missing.json <путь.md> [--apply]
|
||||
```
|
||||
|
||||
🔴 **Первая версия `mark_missing.py` решала «нет TMDB» по тексту строки** и дала
|
||||
**344 пометки вместо 18** (помечала рабочие позиции с постерами). В прод не пошла.
|
||||
Сопоставление теперь по нормализованному названию (нижний регистр, `ё→е`, без
|
||||
пунктуации/эмодзи, без хвостового года). `🗓️` и `[x]` не трогаются, `❓` не дублируется.
|
||||
|
||||
## 🔄 Ночной крон на Кра́кене — что делает автоматика
|
||||
|
||||
`~/scripts/watchlist-nightly.sh`, cron **01:00**:
|
||||
|
||||
Reference in new issue
Block a user