From 1ec0e49fa296e4ea9ee7e2aff3dfd02600ccc7ff Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Tue, 19 May 2026 23:05:14 +0600 Subject: [PATCH] =?UTF-8?q?[2026-05-19]=20family/projects/watchlist-discov?= =?UTF-8?q?er.md=20=E2=80=94=20=D0=BD=D0=BE=D0=B2=D1=8B=D0=B9=20doc?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- family/projects/watchlist-discover.md | 102 ++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 family/projects/watchlist-discover.md diff --git a/family/projects/watchlist-discover.md b/family/projects/watchlist-discover.md new file mode 100644 index 00000000..3e0d5702 --- /dev/null +++ b/family/projects/watchlist-discover.md @@ -0,0 +1,102 @@ +--- +created: '2026-05-19' +updated: '2026-05-19' +status: active +tags: + - kraken + - watchlist + - movies + - project +--- +# Watchlist Discover — Новинки 👍/👎 + +> Автоматическое пополнение секции "Новинки" в `movies-watchlist.md` топовыми новинками из KP API. Просмотр и оценка без ручного поиска. + +Репо: `~/Developer/watchlist-sync` → GitHub `mallexxx/watchlist-sync` + +--- + +## Как работает + +``` +[cron вс 09:00] watchlist-sync discover --apply + → KP API: топ фильмов 2024-2025 (released) + upcoming + → фильтр рейтинга и дублей + → добавить в секцию "Новинки - 👍/👎" с KP-ссылкой + +[cron ежедневно, до sync-down] watchlist-sync process-thumbs --apply + → 👍 → перенести в начало главного списка → попадёт в sync-down + → 👎 → перенести в "Новинки 👎" → больше не обрабатывается +``` + +--- + +## Формат в watchlist.md + +```markdown +## Новинки - 👍/👎 + - [ ] [Грешники](https://www.kinopoisk.ru/film/5499518/) (2025) IMDb 7.5 KP 6.7 + - [ ] 🗓️ [Аватар 3](https://www.kinopoisk.ru/film/...) (2025) IMDb 7.4 KP 7.6 + - [ ] 👍 [F1](https://www.kinopoisk.ru/film/5003510/) (2025) IMDb 7.6 KP 8.2 + - [ ] [Супермен](https://www.kinopoisk.ru/film/997647/) 👎 +``` + +- `🗓️` — upcoming (ещё не вышел в широкий прокат) +- `👍` в начале или конце строки → переносится в начало главного списка +- `👎` в начале или конце строки → в "Новинки 👎" внизу + +--- + +## Пороги фильтрации + +| Тип | Критерий | +|-----|----------| +| Мировые фильмы | IMDb ≥ 7.0 или KP ≥ 7.0 | +| Российские | KP ≥ 8.5 (защита от накрутки) | +| Upcoming | год ≥ текущий-1 (не старые перевыпуски) | +| Минимум голосов | IMDb ≥ 1000 или KP ≥ 500 | + +--- + +## CLI команды + +```bash +# Dry-run — показать что будет добавлено +watchlist-sync discover + +# Добавить в секцию Новинки +watchlist-sync discover --apply + +# Обработать 👍/👎 (dry-run) +watchlist-sync process-thumbs + +# Применить перемещения +watchlist-sync process-thumbs --apply +``` + +--- + +## Cron jobs (Hermes) + +| Job | Schedule | Действие | +|-----|----------|----------| +| `watchlist-discover` (`6aba6979b8c4`) | вс 09:00 | discover --apply + git commit | +| `watchlist-sync-down` (`7d12b6d48786`) | ежедн. 10:00 | process-thumbs --apply → sync-down --apply | + +--- + +## Реализация + +**Файлы:** +- `watchlist_sync/discover.py` — логика выборки из KP API +- `watchlist_sync/parser.py` — `process_thumbs()`, константы секций +- `watchlist_sync/cli.py` — команды `discover`, `process-thumbs` + +**KP API endpoint:** `https://api.poiskkino.dev/v1.4/movie` (redirect с api.kinopoisk.dev) + +--- + +## Связанные заметки + +- [[family/projects/watchlist-sync]] — основной проект (resolve, sync-down, sync-up) +- [[family/documents/movies-watchlist]] — файл watchlist