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