Commit Graph

5 Commits

Author SHA1 Message Date
0265ae2a70 feat: cron-based scheduler with auto-download after rescan
- Replace asyncio sleep loop with APScheduler AsyncIOScheduler + CronTrigger
- Add schedule_time (HH:MM), schedule_days (days of week), auto_download_after_rescan fields to SchedulerConfig
- Add _auto_download_missing() to queue missing episodes after rescan
- Reload config live via reload_config(SchedulerConfig) without restart
- Update GET/POST /api/scheduler/config to return {success, config, status} envelope
- Add day-of-week pill toggles to Settings -> Scheduler section in UI
- Update JS loadSchedulerConfig / saveSchedulerConfig for new API shape
- Add 29 unit tests for SchedulerConfig model, 18 unit tests for SchedulerService
- Rewrite 23 endpoint tests and 36 integration tests for APScheduler behaviour
- Coverage: 96% api/scheduler, 95% scheduler_service, 90% total (>= 80% threshold)
- Update docs: API.md, CONFIGURATION.md, features.md, CHANGELOG.md
2026-02-21 08:56:17 +01:00
26532ea592 Add NFO batch operations unit tests
- Created tests/unit/test_nfo_batch_operations.py
  * 19 comprehensive unit tests all passing
  * Test concurrent operations with max_concurrent limits
  * Test partial failure handling (continues processing)
  * Test skip_existing and overwrite functionality
  * Test media download options
  * Test result accuracy and error messages
  * Test edge cases (empty, single, large, duplicates)

- Updated docs/instructions.md
  * Marked NFO batch operations tests as completed
  * Documented 19/19 passing tests
2026-01-31 15:25:30 +01:00
63da2daa53 Add scheduler service and comprehensive unit tests
- Created src/server/services/scheduler_service.py
  * Interval-based background scheduler
  * Automatic library rescans
  * Conflict prevention (no concurrent scans)
  * WebSocket event broadcasting
  * Configuration reload support
  * Graceful start/stop lifecycle

- Created tests/unit/test_scheduler_service.py
  * 26 comprehensive tests all passing
  * 100% test coverage of service logic
  * Tests initialization, execution, conflicts, config, status
  * Tests edge cases and error handling

- Updated docs/instructions.md
  * Marked scheduler service task as completed
  * Documented 26/26 passing tests
2026-01-31 15:09:54 +01:00
539dd80e14 removed old stff 2025-10-12 23:45:02 +02:00
7a71715183 backup 2025-10-12 18:05:31 +02:00