From 4a4e620de7b700c3df62be0bebde8247a2911812 Mon Sep 17 00:00:00 2001 From: Nirvana Date: Tue, 18 Nov 2025 09:23:15 +0100 Subject: [PATCH] Fix get_manifest --- .../providers/magenta2/provider.py | 47 ++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/lib/streaming_providers/providers/magenta2/provider.py b/lib/streaming_providers/providers/magenta2/provider.py index d92a00c..38c8d33 100644 --- a/lib/streaming_providers/providers/magenta2/provider.py +++ b/lib/streaming_providers/providers/magenta2/provider.py @@ -1059,6 +1059,26 @@ class Magenta2Provider(StreamingProvider): try: logger.debug(f"Parsing SMIL response for channel {channel_id} (length: {len(smil_content)} chars)") + # First check for error cases + error_title_pattern = r']*title="([^"]*)"[^>]*abstract="([^"]*)"[^>]*>' + error_match = re.search(error_title_pattern, smil_content) + + if error_match: + title = error_match.group(1) + abstract = error_match.group(2) + logger.warning(f"SMIL error response for channel {channel_id}: {title} - {abstract}") + + # Check for specific error patterns + if "errorFiles/Unavailable.flv" in smil_content: + logger.error(f"SMIL returned unavailable content for channel {channel_id}") + return None + if "Invalid Token" in title or "InvalidAuthToken" in smil_content: + logger.error(f"Invalid authentication token for channel {channel_id}") + return None + if "403" in smil_content: + logger.error(f"Access forbidden (403) for channel {channel_id}") + return None + # Look for