Dispatcharr/apps/channels
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 rename Channel.user_hidden to Channel.hidden_from_output 2026-05-01 19:44:16 -05:00
tests Enhancement: Initial fmp4 support and major ts_proxy refactor 2026-05-08 17:46:47 -05:00
__init__.py Initial commit 2025-02-18 11:14:09 -06:00
admin.py epg refactor, new relations and matching 2025-03-26 13:28:03 -04:00
api_urls.py feat: Implement delete series rule functionality with title parameter and update related components 2026-05-05 08:40:05 -05:00
api_views.py Enable gevent in uWSGI workers; fix WS delivery and DB exhaustion 2026-05-14 18:55:09 -05:00
apps.py Refactor stats and vod proxy 2025-09-05 19:30:13 -05:00
compact_numbering.py rename Channel.user_hidden to Channel.hidden_from_output 2026-05-01 19:44:16 -05:00
forms.py Forms support floats now. 2025-05-15 15:32:21 -05:00
managers.py feat: Auto-sync overhaul (FR #1196) 2026-05-01 14:05:06 -05:00
models.py Enhancement: Initial fmp4 support and major ts_proxy refactor 2026-05-08 17:46:47 -05:00
serializers.py Enable gevent in uWSGI workers; fix WS delivery and DB exhaustion 2026-05-14 18:55:09 -05:00
signals.py feat(epg): add Schedules Direct API integration 2026-05-17 04:52:07 +00:00
tasks.py Enhancement: Initial fmp4 support and major ts_proxy refactor 2026-05-08 17:46:47 -05:00
urls.py Initial commit 2025-02-18 11:14:09 -06:00
utils.py feat: Auto-sync overhaul (FR #1196) 2026-05-01 14:05:06 -05:00
views.py m3u modifications so streams are identified by hash, configurable, also streams now have channel_groups instead of a string for groups 2025-03-19 16:35:49 -04:00