Files
Curator/docs/README.md
T

3.3 KiB

Curator documentation

Curator is a PySide6 desktop application that manages a Jellyfin-first movie and series pool: it imports files, identifies them through TMDb, groups multiple versions of a film, keeps series in Jellyfin's layout and generates a miniDLNA / Filmotéka tree.

  • Architecture — layers, on-disk layout, the pool index and the rules about versions, series and subtitles. Read this first.
  • Module reference — one document per source module, with a description of the module and of every class and function.

Module reference

Source Purpose
Curator.py Application entry point.
src/_version.py Auto-generated — do not edit manually.
src/constants.py Application-level constants for Curator (build/runtime metadata).
src/core/config.py Configuration for Curator.
src/core/csfd.py ČSFD.cz scraper — a title bridge to TMDb.
src/core/file.py The File class: one playable movie file as the UI sees it.
src/core/file_manager.py FileManager: the application's service layer.
src/core/hardlink_manager.py Hardlink Manager for Curator
src/core/integrity.py Video integrity checking via FFmpeg.
src/core/jellyfin.py Jellyfin server API client — thin, hybrid integration.
src/core/legacy_meta.py Readers for Curator's pre-index metadata layouts.
src/core/list_manager.py Sorting of file lists by name or by date added.
src/core/migrate.py One-off migration of an existing pool to the Jellyfin naming convention.
src/core/movie.py The movie object — metadata first, files second.
src/core/naming.py Pool file naming convention.
src/core/nfo.py NFO reader — Curator's metadata source after ČSFD.
src/core/pool_index.py Unified metadata index for the Curator pool.
src/core/series.py Series naming + scanning for the Jellyfin TV layout.
src/core/subtitles.py External subtitle sidecars — attach, discover, keep in sync on rename.
src/core/tag.py The Tag value object: a (category, name) pair identified by its full_path (Category/Name).
src/core/tag_manager.py TagManager: the registry of all tag categories and their tags.
src/core/tmdb.py TMDb (The Movie Database) client — Curator's identity source.
src/core/transforms.py Tag-schema value transforms for miniDLNA folder names.
src/core/utils.py Small filesystem helpers shared across the core modules.
src/ui/qt_app.py PySide6 GUI for Curator — reframed around the Filmotéka (movie-library) workflow.