Auto-fill ČSFD links on import, rename in pool, multi-country tags, Filmotéka layout
This commit is contained in:
+29
-10
@@ -65,11 +65,21 @@ movie table, and one-click Filmotéka generation.
|
||||
- **Metadata storage:** one **unified metadata file** for the whole pool (a
|
||||
central index), not per-file sidecars. Justified because Curator owns the pool
|
||||
and files are never moved manually, so it is not exposed to path drift.
|
||||
- **Import dialog:** collects only **Title** + **ČSFD link**. The file is renamed
|
||||
to `Title.ext`. When a ČSFD link is given, Curator fetches the movie and assigns
|
||||
Žánr / Rok / Země původu tags automatically; further tags can be added via the UI.
|
||||
- **Genres:** a movie can have **multiple genres**, so it appears under each of
|
||||
its genre branches in the Filmotéka (multiple hardlinks).
|
||||
- **Import dialog:** **multi-file** — pick several videos at once and give each
|
||||
its own **Title** + **ČSFD link** (one row per file, more can be added from the
|
||||
dialog), or auto-filled with **"Najít ČSFD odkazy"** (cleans each filename into
|
||||
a query and fills the first ČSFD search hit; existing links are kept). A single
|
||||
**copy/move** toggle decides whether the sources are copied (default) or moved
|
||||
into the pool. Each file is renamed to `Title.ext`. When a
|
||||
ČSFD link is given, Curator fetches the movie and assigns Žánr / Rok / Země
|
||||
původu / Hodnocení (ten-point band) tags automatically; further tags can be
|
||||
added via the UI. Directors and the first 10 actors are fetched and cached too,
|
||||
but **deliberately not turned into tags/folders** (there would be too many).
|
||||
- **Genres / countries:** a movie can have **multiple genres** and, for a
|
||||
co-production, **multiple countries of origin** (ČSFD writes them
|
||||
slash-separated, e.g. "USA / Velká Británie"). Each becomes its own tag, so the
|
||||
film appears under every matching genre and country branch in the Filmotéka
|
||||
(multiple hardlinks).
|
||||
- **Pool layout:** two top-level folders — **Filmy** and **Seriály**. Movies are
|
||||
the first target; the Seriály branch follows the "copy-as-is" rule below.
|
||||
- **Copy-as-is folders (Seriály):** a subfolder inside the pool can be marked as
|
||||
@@ -80,11 +90,18 @@ movie table, and one-click Filmotéka generation.
|
||||
hardlinked files). This is how Seriály work.
|
||||
- **File naming:** imported movies are renamed to **`Title.ext`** (no year in the
|
||||
filename; year lives in metadata/tags).
|
||||
- **Import is non-destructive:** the original file is **copied** into the pool,
|
||||
the source is left in place.
|
||||
- **Filmotéka tree:** **one level per category** — `output/Category/Tag/film`
|
||||
(hardlink), same shape as the current hardlink manager. For now the tree is
|
||||
built from these categories: **Rok**, **Žánr**, **Země původu**, **Hodnocení**.
|
||||
- **Import copy vs move:** by default the original file is **copied** into the
|
||||
pool (non-destructive); the import dialog also offers a **move** option that
|
||||
relocates the source into the pool instead.
|
||||
- **Filmotéka tree layout:** driven by a category → root-folder map
|
||||
(`FILMOTEKA_CATEGORY_ROOTS`). At the output root sit the **genre folders
|
||||
directly** (`output/Akční/film`, …), next to the copy-as-is mirrors
|
||||
(**Seriály**), plus two grouping folders: **`Dle roku`** (`output/Dle
|
||||
roku/<rok>/film`) and **`Dle země původu`** (`output/Dle země
|
||||
původu/<země>/film`), plus `Dle hodnocení`. Each is a hardlink.
|
||||
`HardlinkManager` supports an empty root (tag folders placed directly at the
|
||||
output root) and restricts obsolete cleanup to the tag-tree's own top-level
|
||||
folders so mirrors are never touched.
|
||||
|
||||
## Tasks
|
||||
|
||||
@@ -95,6 +112,8 @@ movie table, and one-click Filmotéka generation.
|
||||
- Pool-root and Filmotéka-output folder settings in the global config
|
||||
- Filmy / Seriály top-level folder handling in the pool
|
||||
- "Import movie" dialog (Title + ČSFD link), copy into pool/Filmy as Title.ext
|
||||
- Rename a pooled movie from the app (`FileManager.rename_movie`): renames the
|
||||
file in pool/Filmy and moves its metadata to the new index key
|
||||
- Remove-from-pool (delete file + its metadata)
|
||||
- Generate the Filmotéka hardlink tree from the pool (Rok / Žánr / Země původu /
|
||||
Hodnocení)
|
||||
|
||||
Reference in New Issue
Block a user