From 2f658375524059468b76c9c8bdd15adac8f2e833 Mon Sep 17 00:00:00 2001 From: Nirvana Date: Thu, 30 Apr 2026 17:24:49 +0200 Subject: [PATCH] Prepare RTLPlus for new streaming prov --- .../providers/rtlplus/provider.py | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/lib/streaming_providers/providers/rtlplus/provider.py b/lib/streaming_providers/providers/rtlplus/provider.py index 6e9030a..9752591 100644 --- a/lib/streaming_providers/providers/rtlplus/provider.py +++ b/lib/streaming_providers/providers/rtlplus/provider.py @@ -468,12 +468,23 @@ class RTLPlusProvider(StreamingProvider): @staticmethod def _is_linear_tv_channel(content_id: str) -> bool: """Determine if content_id refers to a linear TV channel.""" + # VOD clips have patterns like "clip_123456" or contain "clip" + if "clip_" in content_id or content_id.startswith("clip"): + return False + + # Also check for common VOD patterns + if content_id.startswith("rrn:") or "/" in content_id: + return False + + # Event folder IDs are digits + if content_id.isdigit(): + return False + return ( - ":" not in content_id - and not content_id.startswith("rrn:") - and not content_id.startswith("/") - and not content_id.startswith("http") - and not content_id.isdigit() # Event folder IDs are digits + ":" not in content_id + and not content_id.startswith("rrn:") + and not content_id.startswith("/") + and not content_id.startswith("http") ) def _get_manifest_vod_or_event(self, content_id: str, **kwargs) -> Optional[str]: