[2026-09-22] eagle: personal/plans/watchlist-tmdb-missing-marker.md personal/tech/lampac-deployment.md
This commit is contained in:
1 parent
0508cca13e
commit
db766abb58
2 files changed
+324
-17
No files matched your search
@@ -2,16 +2,99 @@
|
||||
# Watchlist — автопоиск TMDB + маркер «нет в базе» (без ручных правок)
|
||||
|
||||
**Дата:** 2026-09-22
|
||||
**Статус:** ✅ ЗАВЕРШЕНО. Шаги 1, 1.3, 2, 3 задеплоены и приняты в UI.
|
||||
Маркер `❓` применён к боевому `.md` (**24 снято, 18 поставлено**), автозакачка
|
||||
в Radarr отключена, кэш резолва перенесён с SD на HDD.
|
||||
Коммиты: `lampac-scripts` **`0345df2`**, `watchlist-sync` **`396acc3`**.
|
||||
Осталось (не блокеры): имя в карточке из TMDB/КП, порядок категорий в ленте,
|
||||
коммит правки `mark_missing.py` в обе стороны.
|
||||
**Статус:** ✅ ОСНОВНАЯ ЗАДАЧА ЗАВЕРШЕНА. Шаги 1, 1.3, 2, 3 задеплоены и приняты в UI.
|
||||
Маркер `❓` работает **в обе стороны** (24 снято, 18 поставлено), боевой `.md`
|
||||
синхронизирован с каталогом, автозакачка в Radarr отключена, кэш резолва на HDD,
|
||||
кэш-копия с SD удалена.
|
||||
Коммиты: `lampac-scripts` **`1122b71`** (маркер в обе стороны), `watchlist-sync` **`396acc3`**.
|
||||
**Открытые задачи (в работе / ждут Alex)** → [[#🔜 Открытые задачи (2026-09-22, вечер)]]
|
||||
**Связано:** [[personal/plans/lampac-watchlist-plugin]], [[family/projects/watchlist-automation]], [[family/projects/watchlist-sync]], [[personal/tech/lampac-deployment]]
|
||||
|
||||
---
|
||||
|
||||
## 🔜 Открытые задачи (2026-09-22, вечер)
|
||||
|
||||
### 1. Удаление авто-закачек из Radarr/Sonarr — ЖДЁТ КОМАНДЫ
|
||||
|
||||
Alex: *«закачки отменять и проверить еще раз что заново не добавятся»* →
|
||||
*«удалить все добавленные автоматикой закачки в т.ч. файлы. и radarr и sonarr»*.
|
||||
|
||||
Инвентаризация выполнена, дамп снят, удаление **не запущено** — Alex ещё не
|
||||
подтвердил финальный список (16 Radarr-позиций vs все 50).
|
||||
|
||||
```
|
||||
Radarr : 16 авто-добавленных (added >= 2026-09-20), 12 из них с файлами
|
||||
Sonarr : авто-закачек НЕТ (все 13 сериалов добавлены 18.05–01.06)
|
||||
дамп : /tmp/radarr-sonarr-dump-20260922-184351/
|
||||
```
|
||||
|
||||
🔴 Полная таблица, API-вызовы и питфолл `deleteFiles=true` — в
|
||||
[[personal/tech/lampac-deployment#📋 Инвентаризация авто-закачек в Radarr/Sonarr (2026-09-22)]].
|
||||
|
||||
**Гарантия «заново не добавятся» — проверена фактом:**
|
||||
```
|
||||
1. sync-down вырезан из watchlist-nightly.sh → в кроне вызова нет
|
||||
2. все 50 фильмов Radarr: monitored=false → поиск раздач не запускается
|
||||
+ queue 0 записей + wanted/missing 0 записей
|
||||
```
|
||||
|
||||
⚠️ НЕ сделано: коммит правки `watchlist-nightly.sh` в git (вырезанный `sync-down`).
|
||||
|
||||
### 2. Имя в карточке — из источника (TMDB/КП), НЕ из `.md`
|
||||
|
||||
Alex: *«че по имени в карточке? оно должно из источника ставиться»*.
|
||||
|
||||
Сейчас генератор пишет в карточку `it["name"]` = название **из `.md`**:
|
||||
|
||||
```python
|
||||
# gen_watchlist.py, блок записи карточки (~строка 733)
|
||||
card_body = {"card": {
|
||||
"name": it["name"], # ← из .md, не из TMDB/КП
|
||||
"title": it["name"], # дублируется намеренно:
|
||||
"original": it["original"], # CardController ищет attribute name,
|
||||
"original_title": it["original"], # в ответе ключи title/original_title
|
||||
...
|
||||
}}
|
||||
```
|
||||
|
||||
Требование Alex: «Отображать как в tmdb/kp», «Ничего не укорачивать».
|
||||
**Нужно:** брать имя из источника (TMDB `title`/`name` из `tmdb_details()`,
|
||||
либо `name` документа КП) и писать его в `card.title` + `watchlist.json[].name`.
|
||||
Функция `tmdb_details()` уже тянет детали и кэширует — там есть `poster_path`,
|
||||
но **имени она сейчас не сохраняет**, надо добавить.
|
||||
|
||||
⚠️ Осторожно с `original`: это EN-название, нужен RU/title из TMDB при
|
||||
`language=ru-RU`. Проверить на 3 позициях, где `.md`-название ≠ название TMDB
|
||||
(`Духless` → TMDB 132759, `Бумбараш` → 109940, `Хамнет` → 858024).
|
||||
|
||||
### 3. Категории в ленте прыгают при перезагрузке
|
||||
|
||||
Alex: *«категории прыгают при перезагрузке.. там либо insert либо конфликт id»*.
|
||||
|
||||
Гипотеза Alex: **`insert` вместо присваивания ЛИБО конфликт `id`**.
|
||||
Уже известно: `displayindex` не сдвигает встроенные блоки Lampa
|
||||
(«Сейчас Смотрят», «Рекомендуем посмотреть» — они НЕ из `sites/`).
|
||||
`watchlist.yaml`: `displayindex: 1` (самый низкий из всех).
|
||||
|
||||
```
|
||||
displayindex: watchlist 1, rezka 10, kinobase 15, filmix 20, vokino 30,
|
||||
eneyida 35, kinoukr 40, getstv 45, aniliberty 60
|
||||
```
|
||||
|
||||
**Куда смотреть:** порядок вставки каналов в ленту (`insert` vs `push`/присваивание),
|
||||
стабильность `id` канала между перезапусками lampac (`catalog:<id>` в памяти —
|
||||
см. питфолл `catalog:card:*` переживает `docker restart`).
|
||||
Требует отдельного разбора кода Lampac (LampaWeb/Lampa).
|
||||
|
||||
### 4. Мелочи
|
||||
|
||||
- `Астрал. Могильный ритуал 2` — маркер `🗓️` не снимается автоматически, позиция
|
||||
названа по-старому имени; резолв идёт по `kp_id` (работает), но снятие
|
||||
маркера `﮼🗓️` — работа `resolve --recheck` в nightly, не генератора.
|
||||
- Кэш-копия на SD — **удалена** (закрыто, см. ниже).
|
||||
|
||||
---
|
||||
|
||||
## ✅ ФИНАЛ СЕССИИ (2026-09-22, ночь): маркер ❓ работает В ОБЕ СТОРОНЫ
|
||||
|
||||
### 🔴🔴 Главная находка: маркер умел только СТАВИТЬ, но не СНИМАТЬ
|
||||
@@ -69,16 +152,49 @@ if norm(title) not in missing:
|
||||
`The kill room` · `Godfathers` · `Stand by me` · `Мементо` · `девять` ·
|
||||
`Приятель 2026` · `Презумпция невиновности сериал` · `Орлеан` · `Итальянцы в ..?` + 7.
|
||||
|
||||
### 🔴 Питфолл: 24 ≠ реальное число рассинхронов
|
||||
⚠️ Ранее зафиксированный «открытый вопрос»: `Джеймс Кемерон морские приключения?` —
|
||||
**разобран и закрыт.** Это НЕ баг. Фильма с таким названием не существует; Alex
|
||||
написал заметку-воспоминание («морские приключения Кэмерона?»). Резолвер честно
|
||||
ищет в КП и находит только чужие документы:
|
||||
|
||||
Два маркера в очереди не снимаются **никогда** (нет нормализованного совпадения):
|
||||
```
|
||||
'Джеймс Кэмерон: Путешествие к центру Земли' sim=0.57
|
||||
'Достать Джеймса Кэмерона' sim=0.44
|
||||
'Безымянный проект Джеймса Кэмерона' sim=0.38
|
||||
```
|
||||
|
||||
1. `могильный ритуал. зло вернулось` — кэш резолвит под актуальным именем КП,
|
||||
а в `.md` позиция названа по-старому (`Астрал. Могильный ритуал 2`).
|
||||
2. `Джеймс Кемерон морские приключения?` — **в `missing.json` И резолвится
|
||||
одновременно**: `kp|джеймс кемерон морские приключения?|5` → `list[5]` в кэше,
|
||||
но генератор всё равно пишет его в miss. Причина требует отдельного разбора.
|
||||
⚠️ **Открытый вопрос сессии, зафиксирован.**
|
||||
Все ниже порога 0.75 → miss → `❓`. Поведение верное.
|
||||
🔴 **Моя ошибка разбора:** я принял ключ кэша `'джеймс кемерон морские приключения?|'`
|
||||
= `list[5]` за успешный резолв. Это **документы КП** (результаты поиска), а не
|
||||
резолв в TMDB. Ключ `'{title}|'` = `tmdb_search` (это резолв), `'kp|{title}|{limit}'`
|
||||
= `kp_search` (это сырьё поиска). Различать обязательно.
|
||||
|
||||
### ✅ ИТОГ: боевой `.md` приведён в соответствие с каталогом
|
||||
|
||||
Запись выполнена (`--apply`), бэкап `/tmp/movies-watchlist.md.bak-marker-20260922-183910`
|
||||
и `.bak-questions` рядом с файлом:
|
||||
|
||||
```
|
||||
размер 29632 -> 29608 Б (-24 = 24 снятых ❓)
|
||||
позиций 596 -> 596 (ни одна не потеряна)
|
||||
❓ 34 -> 28 🗓️ 39 👎 2 [x] 179 [ ] 417
|
||||
```
|
||||
|
||||
Три правки Alex — чистые, без маркера:
|
||||
|
||||
```
|
||||
86: - [ ] Everything Everywhere All at Once 2021
|
||||
167: - [ ] Духless
|
||||
216: - [ ] Бумбараш
|
||||
```
|
||||
|
||||
Коммит `lampac-scripts` **`1122b71`** (запушен на gitea, `0345df2..1122b71 main -> main`).
|
||||
|
||||
---
|
||||
|
||||
## ✅ ПОСТ-ДЕПЛОЙНАЯ ИТЕРАЦИЯ (2026-09-22, поздний вечер)
|
||||
|
||||
### 🔴 Автозакачка в Radarr ОТКЛЮЧЕНА
|
||||
|
||||
### 🔴 Питфолл режима проверки: `grep -c` считает СТРОКИ, а не вхождения
|
||||
|
||||
|
||||
Reference in new issue
Block a user