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