Fetch the SD country list (token not required; User-Agent is).
(self)
| 226 | ) |
| 227 | |
| 228 | def _fetch_sd_countries(self): |
| 229 | """Fetch the SD country list (token not required; User-Agent is).""" |
| 230 | import requests as http_requests |
| 231 | from apps.epg.tasks import SD_BASE_URL |
| 232 | from core.utils import dispatcharr_http_headers |
| 233 | |
| 234 | try: |
| 235 | resp = http_requests.get( |
| 236 | f"{SD_BASE_URL}/available/countries", |
| 237 | headers=dispatcharr_http_headers(content_type=None), |
| 238 | timeout=15, |
| 239 | ) |
| 240 | resp.raise_for_status() |
| 241 | return resp.json() |
| 242 | except http_requests.exceptions.RequestException as e: |
| 243 | logger.warning(f"Failed to fetch SD countries: {e}") |
| 244 | return None |
| 245 | |
| 246 | @action(detail=True, methods=["get", "post", "delete"], url_path="sd-lineups") |
| 247 | def sd_lineups(self, request, pk=None): |
no test coverage detected