Store library settings in the pool index and drop legacy sidecars
This commit is contained in:
+12
-2
@@ -51,8 +51,9 @@ Curator manages a personal movie library based on two folders:
|
||||
loads the pool, and the GUI generates the Filmotéka tree via `HardlinkManager`.
|
||||
- `File` carries `title` + `csfd_link`. **Pool metadata lives in a unified index**
|
||||
(`<pool>/.Curator.!index`, see `pool_index.py`); `File` writes there when an
|
||||
index is injected, and still falls back to per-file `.!tag` sidecars for
|
||||
arbitrary (non-pool) folders.
|
||||
index is injected. Without an index a `File` is an in-memory object only — the
|
||||
old per-file `.!tag` sidecars and the per-folder `.!ftag` config have been
|
||||
removed.
|
||||
|
||||
### GUI decision
|
||||
|
||||
@@ -65,6 +66,15 @@ 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.
|
||||
- **Config split by scope:** the global config (`.Curator.!gtag`) holds **app
|
||||
data only** — window state, MRU folders, and the `pool_dir` / `filmoteka_dir`
|
||||
pointers (which must stay global: the index is found *through* them). Everything
|
||||
that describes a specific library — `tag_schema` and `copyasis_folders` — lives
|
||||
in the pool index under a `settings` section, so it travels with the pool.
|
||||
`FileManager` migrates any pre-existing global values into the index on first
|
||||
open. The old per-folder `.!ftag` config and per-file `.!tag` sidecars were
|
||||
removed (they were unused Tagger leftovers), and the orphaned tkinter
|
||||
`src/ui/gui.py` went with them.
|
||||
- **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
|
||||
|
||||
Reference in New Issue
Block a user