Rework Curator into a Jellyfin-first library manager

This commit is contained in:
2026-08-31 18:34:03 +02:00
parent 1c78ca9013
commit 6a2baf243f
25 changed files with 2420 additions and 1502 deletions
+26
View File
@@ -164,6 +164,32 @@ movie table, and one-click Filmotéka generation.
fall back to the file's mtime for the "recently added" ordering (ctime is
unreliable — creating the Filmotéka hardlinks bumps it).
## Direction — Jellyfin pivot (in progress)
Curator is being refocused from a ČSFD-tagging tool into a **Jellyfin-first
library manager**. Agreed shape:
- **Pool = the single Jellyfin library** (merged; no separate output library).
Files are named `Title (rok) [tmdbid-N].ext` — the form Jellyfin matches on.
Libraries (Filmy/Kids/Dokumenty/Anime/Seriály) are physical partitions.
- **Metadata is Jellyfin's job**: Jellyfin fetches from TMDb and (configured to)
writes `.nfo` + artwork into the folders → survives a Jellyfin reinstall.
Curator only resolves a **TMDb id → title + year** for naming (`tmdb.py`);
ČSFD is dropped (it exposes no TMDb/IMDb id anyway — verified).
- **miniDLNA**: keep a genre-split **hardlink tree** for a dumb DLNA browser,
but drive it from the **NFO** Jellyfin wrote (repurposing `HardlinkManager` +
`naming.py`), not from ČSFD tags.
- **Jellyfin API** (thin, hybrid): trigger scans, verify, manage collections;
key + URL in `.env`. NFO on disk stays authoritative.
Phasing: (1) TMDb identity + tmdbid naming + import rework [done]; (2) movie
libraries as physical partitions + import-into / move-between [done]; (3) Jellyfin
API — scan + verify + status [done]; (4) miniDLNA genre tree from NFO + ČSFD
removed [done]; (5) series model — SxxEyy layout, import, rename [done];
(6) migrate the existing 589 movies (title+year → TMDb search). Note: libraries hold **flat** files for now
(`pool/<Library>/Title (rok) [tmdbid].ext`); per-movie folders are a later
refinement.
## Tasks
# (no open tasks — see Done)