Add data file to database sync functionality

- Add get_all_series_from_data_files() to SeriesApp
- Sync series from data files to DB on startup
- Add unit tests for new SeriesApp method
- Add integration tests for sync functionality
- Update documentation
This commit is contained in:
2025-12-13 09:32:57 +01:00
parent 86eaa8a680
commit 684337fd0c
6 changed files with 855 additions and 0 deletions

View File

@@ -254,6 +254,25 @@ Deprecation warnings are raised when using these methods.
Main engine for anime series management with async support, progress callbacks, and cancellation.
**Key Methods:**
- `search(words)` - Search for anime series
- `download(serie_folder, season, episode, key, language)` - Download an episode
- `rescan()` - Rescan directory for missing episodes
- `get_all_series_from_data_files()` - Load all series from data files in the anime directory (used for database sync on startup)
### Data File to Database Sync
On application startup, the system automatically syncs series from data files to the database:
1. After `download_service.initialize()` succeeds
2. `SeriesApp.get_all_series_from_data_files()` loads all series from `data` files
3. Each series is added to the database via `SerieList.add_to_db()`
4. Existing series are skipped (no duplicates)
5. Sync continues silently even if individual series fail
This ensures that series metadata stored in filesystem data files is available in the database for the web application.
### Callback System (`src/core/interfaces/callbacks.py`)
- `ProgressCallback`, `ErrorCallback`, `CompletionCallback`