# Watchlist — автопоиск TMDB + маркер «нет в базе» (без ручных правок) **Дата:** 2026-09-22 **Статус:** ✅ ОСНОВНАЯ ЗАДАЧА ЗАВЕРШЕНА. Шаги 1, 1.3, 2, 3 задеплоены и приняты в UI. Маркер `❓` работает **в обе стороны** (24 снято, 18 поставлено), боевой `.md` синхронизирован с каталогом, автозакачка в Radarr отключена и **16 авто-закачек удалены вместе с файлами**, кэш резолва на HDD, кэш-копия с SD удалена, **название и год карточки берутся из TMDB** (было — из `.md`). Коммиты: `lampac-scripts` **`53e5803`** (имя/год из TMDB), `1122b71` (маркер в обе стороны), `watchlist-sync` **`396acc3`**. **Открытые задачи (в работе / ждут Alex)** → [[#🔜 Открытые задачи (2026-09-22, вечер)]] ⚠️ Единственная незакрытая: **категории в ленте прыгают при перезагрузке** (п. 3) ✅ TorrServer/PidTor — **починен И ПРИНЯТ В UI** ([[family/how-to/lampac-torrents]]): Alex запустил F1 в плеере, торренты появились. ✅ Год «Волшебный участок: Фильм» — **разобран, не баг**: фильм `In Production`, `release_date` пуст у самого TMDB. Оставлено `null` осознанно. **Связано:** [[personal/plans/lampac-watchlist-plugin]], [[personal/plans/lampac-disable-1xbet-ads]], [[family/how-to/lampac-torrents]], [[family/projects/watchlist-automation]], [[family/projects/watchlist-sync]], [[personal/tech/lampac-deployment]], [[personal/tech/lampac-torrserver]] --- ## ✅ Название и год карточки — из TMDB (2026-09-22, коммит `53e5803`) Alex: *«че по имени в карточке? оно должно из источника ставиться»*, *«названия блядь доделал?»*, *«БЛЯДЬ фильм есть или нет?? ... Отображать как в tmdb/kp»*. ### Что было / что стало ```python # БЫЛО: it["name"] = название из .md, it["year"] = год из .md (часто null) # СТАЛО: tmdb_details() тянет ru-RU title + original_title + год из release_date ``` `tmdb_details()` расширен полями `title`, `original_title`, `en_title`, `year`, `release_date`. В `enrich()` — подстановка с приоритетом **русское название TMDB → оригинал → `.md` как fallback**. Год проставляется, если в `.md` был `None`. ### Доказательства расхождения (сырьё) | в `.md` | TMDB `ru-RU` | TMDB `en-US` | |---|---|---| | `Смерть единорога` | **`Смерть Единорога`** | `Death of a Unicorn` | | `Everything Everywhere All at Once` | **`Всё везде и сразу`** | `Everything…` | | `Простите за беспокойство` | `Простите за беспокойство` | `Sorry to Bother You` | | `Духless` | `Духless` | `Soulless` | | `Бумбараш` | `Бумбараш` | `Bumbarash` | **Год вообще не проставлялся** (`year: null` в каталоге), хотя TMDB отдаёт `release_date='2025-03-17'`. ### 🔴 Миграция кэша деталей `cache/.lampac_tmdb_details.json` (367 записей) **не содержал `title`** — старая версия сохраняла только описание/жанры/актёров. Добавлена проверка: ```python key = f"{mtype}/{tmdb_id}" if key in details: d = details[key] if d.get("title"): # ← миграция: без title дотянуть заново return d ``` Записи дотягиваются по одной при первом обращении (~12 запросов/с, ~30 сек на 367). ### Результат боевого прогона ``` 376 позиций без года: 1 (из 376) — 'Волшебный участок: Фильм' (нет в TMDB) 296 позиций: русское name + original источники: Radarr 9, TMDB 346, автопоиск по названию 17, по kp_id 4, miss 33, карточек 376 'Смерть Единорога' orig='Death of a Unicorn' year=2025 'Всё везде и сразу' orig='Everything…' year=2022 'Простите за бесп…' orig='Sorry to Bother You' year=2018 'Я ругаюсь' orig='I Swear' year=2025 'Гамнет' orig='Hamnet' year=2025 ``` 🔴 **Скрипты, вносившие правку, лежат в `~/lampac-tmp/`:** `probe_titles.py` (сверка ru/en), `probe_details.py` (состав кэша), `probe_migrate.py` (проверка миграции), `verify_names.py` (итог прогона). 🔴 **Прогон дважды падал на обрыве ssh** (`client_loop: send disconnect: Broken pipe`) даже с `setsid nohup`. Рабочее решение — `systemd-run --user --unit=gen-watchlist --scope /tmp/gen-runner.sh`. См. [[personal/tech/lampac-deployment]]. --- ## 🔜 Открытые задачи (2026-09-22, вечер) ### 1. Удаление авто-закачек из Radarr/Sonarr — ✅ ВЫПОЛНЕНО (2026-09-22, 18:44) Alex: *«удаляй»* (после *«закачки отменять и проверить еще раз что заново не добавятся»* и *«удалить все добавленные автоматикой закачки в т.ч. файлы. и radarr и sonarr»*). **Удалено 16/16 (все HTTP 200), 0 ошибок. Файлы ушли с диска физически.** ``` Radarr : 50 → 34 фильма, added >= 20.09: 0, monitored: 0 очередь 0, wanted/missing 0, .recyclebin пусто 12 каталогов в $M/movies-radarr удалены (29 → 17) Sonarr : 13 сериалов, added >= 20.09: 0 — авто-закачек НЕ было, не трогали дамп : /tmp/radarr-sonarr-dump-20260922-184351/ снимок : /tmp/radarr-delete-snapshot.json ``` 🔴 Полная таблица, API-вызовы, питфолл `deleteFiles=true` и **критичное открытие про двойной путь `/media/movies-radarr`** — в [[personal/tech/lampac-deployment#📋 Инвентаризация авто-закачек в Radarr/Sonarr (2026-09-22)]]. **Гарантия «заново не добавятся» — проверена фактом:** ``` 1. sync-down вырезан из watchlist-nightly.sh → в кроне вызова нет 2. все 34 оставшихся фильма Radarr: monitored=false → поиск раздач не запускается + queue 0 записей + wanted/missing 0 записей ``` ✅ **ХВОСТ ЗАКРЫТ (2026-09-22):** правка `watchlist-nightly.sh` (вырезанный `sync-down`) закоммичена — `sync-down` в кроне не вызывается, вместо вызова стоит `log "sync-down: ПРОПУЩЕН (автозакачка отключена 2026-09-22)"`, бэкап `watchlist-nightly.sh.bak-20260922-182655`. Проверено `grep` по крону: активного вызова закачки нет. ### 2. Имя в карточке — из источника (TMDB/КП) — ✅ ВЫПОЛНЕНО (2026-09-22) Alex: *«че по имени в карточке? оно должно из источника ставиться»* + *«иди делать он»*. **Сделано:** `tmdb_details()` теперь тянет `title` (ru-RU) + `original_title` + `year` из `release_date`. В `enrich()` имя/оригинал/год подставляются из источника, `.md` остаётся fallback'ом (год из `.md` не перетирается — он может быть точнее для локальных премьер). Прошлая версия этого пункта (объяснение, «что нужно») **отменена — сделано**: ``` в .md: TMDB ru-RU: 'Смерть единорога' → 'Смерть Единорога' ← регистр из источника 'Everything…' → 'Всё везде и сразу' 'Простите за бесп…'→ orig='Sorry to Bother You' year: null → 2025 / 2018 / 2012 / 1972 ``` **Миграция кэша:** 367 записей без поля `title` дотягиваются при первом обращении (проверка `d.get("title")` в начале `tmdb_details`). **Боевой прогон (EXIT=0):** 376 позиций, без года 1 (`Волшебный участок: Фильм`), 296 с русским названием + оригиналом. Коммит **`53e5803`** (запушен). 🔴 **Питфолл:** `setsid nohup` НЕ спасает от обрыва ssh — прогон умирал дважды. Решение: `systemd-run --user --unit=gen-watchlist --scope