Add per-movie attributes and per-category filename templates
This commit is contained in:
+22
@@ -102,6 +102,28 @@ movie table, and one-click Filmotéka generation.
|
||||
`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.
|
||||
- **Tag schema (config-driven, not hard-coded):** the categories, their ČSFD
|
||||
source field + transform, and their Filmotéka folder mapping all live in
|
||||
`tag_schema` in the global config (default `config.DEFAULT_TAG_SCHEMA`, edited
|
||||
via *Nastavení → Tag schéma…*). Both `apply_csfd_tags` (which fields → tags)
|
||||
and the Filmotéka layout (`FileManager.filmoteka_category_roots`) read from it,
|
||||
so adding a category or changing a folder rule needs no code change. A category
|
||||
can be made filter-only (no folders) by setting its `filmoteka_root` to null.
|
||||
The `transform` (e.g. `decade_band`) shapes only the **folder name** — tags keep
|
||||
the **exact value** (rating → tag `Hodnocení/90`, folder `Dle hodnocení/90–100 %`);
|
||||
it is applied at Filmotéka generation via `filmoteka_category_transforms`.
|
||||
- **Per-category filename template** (`filename_template` in a schema entry): the
|
||||
hardlink name **inside that category's folders only** is rendered from the
|
||||
movie's metadata (`File.name_context`: title/year/rating/ext/stem/filename plus
|
||||
any free-form attributes), e.g. a Kolekce with `"{collection_sort} - {title}{ext}"`.
|
||||
Other folders and the pool file keep the plain name; applied via
|
||||
`filmoteka_category_filename_templates`.
|
||||
- **Free-form per-movie attributes** (`File.attributes`, set in the GUI): arbitrary
|
||||
`key → value` metadata stored in the index and merged into `name_context`, so
|
||||
custom fields like `collection_sort` can drive filename templates.
|
||||
- **Tag provenance (ČSFD vs user):** each file records which tags came from ČSFD
|
||||
(`csfd_tags`). Re-fetching regenerates only those; user-added tags are kept, so
|
||||
changing a movie's ČSFD link refreshes ČSFD tags without losing manual ones.
|
||||
|
||||
## Tasks
|
||||
|
||||
|
||||
Reference in New Issue
Block a user