Dispatcharr/apps/epg
mwhit 6b9d621cf7 feat(epg): add Schedules Direct API integration
- Add EPGSource username field and SDScheduleMD5 model for MD5 delta sync
- Implement full Schedules Direct fetch with SHA1 auth, token caching,
  20-day schedule window, and MD5-based delta sync to minimize API usage
- Add lineup manager UI allowing users to search and manage SD lineups
- Add stations-only fetch on source creation for immediate EPG matching
- Enforce 2-hour minimum refresh interval to respect SD rate limits,
  with first-fetch bypass when no prior full refresh exists
- Add real-time progress updates via synchronous Redis WebSocket delivery,
  bypassing gevent.spawn for reliable delivery from Celery prefork workers
- Refactor EPGsTable status cell into standalone EPGStatusCell component
  with direct Zustand subscription for live progress bar updates
- Guard XMLTV parse trigger for channels linked to SD EPG sources
- Add 15 backend tests covering auth, credentials, signals, and serializers

Migrations: 0023 (username field), 0024 (api_key help_text), 0025 (SD fields + SDScheduleMD5)
2026-05-17 04:52:07 +00:00
..
migrations feat(epg): add Schedules Direct API integration 2026-05-17 04:52:07 +00:00
tests feat(epg): add Schedules Direct API integration 2026-05-17 04:52:07 +00:00
__init__.py Initial commit 2025-02-18 11:14:09 -06:00
admin.py modified database fields for consistency, removed custom_url from streams (no longer needed) 2025-03-16 09:07:10 -04:00
api_urls.py fix(epg): fix and clean up EPG program search API and tests 2026-04-24 14:37:12 -05:00
api_views.py feat: Enhance series rule evaluation and management 2026-05-04 20:45:40 -05:00
apps.py EPG auto import 2025-03-19 13:12:48 -05:00
models.py feat(epg): add Schedules Direct API integration 2026-05-17 04:52:07 +00:00
query_utils.py feat: Enhance series rule evaluation and management 2026-05-04 20:45:40 -05:00
serializers.py feat(epg): add Schedules Direct API integration 2026-05-17 04:52:07 +00:00
signals.py feat(epg): add Schedules Direct API integration 2026-05-17 04:52:07 +00:00
tasks.py feat(epg): add Schedules Direct API integration 2026-05-17 04:52:07 +00:00
urls.py Pre-Alpha v4 2025-02-24 15:04:03 -06:00
utils.py feat(guide): redesign guide with detail modal, progress bars, and season/episode display 2026-03-10 10:53:19 -05:00
views.py Pre-Alpha v4 2025-02-24 15:04:03 -06:00