[2026-09-24] eagle: family/projects/watchlist-automation.md personal/plans/lampac-watchlist-plugin.md personal/tech/lampac-deployment.md
This commit is contained in:
1 parent
6d8cd5e1eb
commit
63694c7f57
3 files changed
+93
-3
No files matched your search
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Lampac — развёртывание и эксплуатация (Кра́кен)
|
||||
created: '2026-09-22'
|
||||
updated: '2026-09-22'
|
||||
updated: '2026-09-24'
|
||||
type: tech
|
||||
namespace: personal
|
||||
tags:
|
||||
@@ -27,6 +27,41 @@ related:
|
||||
|
||||
> Технический справочник. Развёрнуто 2026-09-22. План и статус шагов — [[personal/plans/lampac-kraken]].
|
||||
|
||||
## 🔴 2026-09-24: генератор каталога признан вторым матчером — уходит в проект
|
||||
|
||||
`lampac/scripts/gen_watchlist.py` (878 строк) + `mark_missing.py` (179) — **отдельные
|
||||
скрипты вне `watchlist-sync`**. Разбор кода в этой сессии:
|
||||
|
||||
- резолв **трёхуровневый**: Radarr по названию → TMDB `/search/{movie,tv}` (кэш
|
||||
`cache/.lampac_tmdb_cache.json`) → КП по номеру из ссылки в `.md`
|
||||
(`kp_id_from_url`, приоритет выше поиска по названию) → КП по названию с порогом
|
||||
`KP_SIM_THRESHOLD = 0.75` и проверкой год ±1 / совпадения `media_type`;
|
||||
- детали карточек — `cache/.lampac_tmdb_details.json` (описание, жанры, актёры, runtime,
|
||||
ru-title + year; требование Alex «отображать как в tmdb/kp»);
|
||||
- пишет: `wwwroot/watchlist.json` (channels), `wwwroot/watchlist-{films,new,cartoons,anime}.json`,
|
||||
`wwwroot/cards.json` + `wwwroot/cards/card-<type>-<id>.json` (файл на фильм, обёртка
|
||||
`{"card": {...}}`), `wwwroot/missing.json` (для маркера ❓);
|
||||
- позиции без TMDB-ID в фид **не отдаются** (требование «чего нет для просмотра — того
|
||||
нет в списке»), уходят в `missing.json`;
|
||||
- `load_env()` ищет `.env` в жёстком списке путей (Кракен-пути + Mac-путь) — хрупко.
|
||||
|
||||
**Проблема:** скрипт не читает `.resolve_cache.json` и не знает маркеров ✅/🗓️/❓ —
|
||||
это ВТОРОЙ независимый матчер того же списка. Ранее связывался с `resolve` неявно через
|
||||
Radarr (матч по названию → те же версии, что выбрал резолвер). После удаления контента
|
||||
из arr (2026-09-24) мост исчез → 3 карточки сменили фильм.
|
||||
|
||||
**Решение (план согласован, не реализован):** логика переезжает в проект как
|
||||
`watchlist_sync/feed.py` + CLI-шаг `feed`, пути через `.env`-ключ `LAMPAC_ROOT`, шаг
|
||||
встаёт в nightly между `resolve` и `sync-up`; `gen_watchlist.py` / `mark_missing.py` /
|
||||
`watchlist-catalog.sh` (крон 02:30) — в `.bak`. Детали и порядок шагов —
|
||||
[[personal/plans/lampac-watchlist-plugin]] § «2026-09-24 (вечер): ПЕРЕПИСЫВАНИЕ».
|
||||
|
||||
⚠️ **НЕ трогать при переносе:** `catalog/sites/watchlist.yaml` (`plugin: watchlist` —
|
||||
обязателен, кириллица в ключе вырезается регуляркой `ModInit`; первая категория
|
||||
игнорирует `format` и берёт `list.uri`; `card_args` требуют `format` для числовых типов,
|
||||
иначе `tmdb_id` приедет строкой и карточка в Lampa будет «здесь пусто»),
|
||||
`catalog/plugin.js` (инжект секций в CUB через `Api.partNext`), структуру `cards/`.
|
||||
|
||||
## Что это
|
||||
|
||||
`lampac-nextgen/lampac` (MIT, .NET 10) — серверный бэкенд для Lampa. Один контейнер, порт **9118**.
|
||||
|
||||
Reference in new issue
Block a user