refactor CLI command modules and synchronize docs

This commit is contained in:
windyboy
2026-02-16 12:31:26 +08:00
parent 0be802eac5
commit 2dd329cba9
41 changed files with 1066 additions and 753 deletions
+12 -2
View File
@@ -1,5 +1,12 @@
# Video Library Manager
## Documentation Status
- Last synchronized: **2026-02-16**
- CLI command refactor landed (`parse`, `enrich`, `execute`, `rollback` logic moved to `src/vlm/commands/`).
- Unified JSON I/O interfaces are available in `src/vlm/io.py`.
- Full test baseline after refactor: **477 passed**.
A Python-based CLI tool for managing personal video collections with a safety-first, human-in-the-loop approach.
## Features
@@ -806,8 +813,11 @@ src/vlm/
├── context.py # CLIContext and pass_context for commands
├── commands/ # Command implementations
│ ├── scan.py # Scan command
│ ├── parse.py # Parse command
│ ├── enrich.py # Enrich command
│ ├── analyze.py # Analyze command
── plan.py # Plan command
── plan.py # Plan command
│ └── execute.py # Execute/Rollback commands
├── scanner.py # File discovery and metadata extraction
├── parser.py # Filename parsing (titles, years, episodes)
├── enrichment.py # Title/reputation enrichment pipeline
@@ -815,7 +825,7 @@ src/vlm/
├── providers/ # External metadata providers (TMDB, etc.)
│ ├── base.py # Provider interface
│ └── tmdb.py # TMDB API client
├── io.py # JSON/CSV load/save, load_analysis_json, plan/analysis input helpers
├── io.py # Unified JSON/CSV I/O helpers (load/save JSON, analysis writer, plan/analysis adapters)
├── utils.py # UTC time, format_size, etc.
├── analysis.py # Completeness and duplicate detection
├── duplicate_resolve.py # Duplicate group keep-index (by_quality, by_reputation, by_reputation_quality_time, first_seen, manual)