From 889c0daf62b7ffab8e753fda225adfe51398a019 Mon Sep 17 00:00:00 2001 From: Nirvana Date: Sat, 13 Jun 2026 16:42:50 +0200 Subject: [PATCH] fix catchup --- lib/streaming_providers/base/catchup_operations.py | 2 ++ lib/streaming_providers/base/manager.py | 3 ++- lib/streaming_providers/base/provider.py | 1 + .../providers/magenta2/playback_manager.py | 2 +- lib/streaming_providers/providers/magenta2/provider.py | 4 ++-- lib/streaming_providers/providers/magentaeu/provider.py | 2 +- 6 files changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/streaming_providers/base/catchup_operations.py b/lib/streaming_providers/base/catchup_operations.py index 7725092..e96e6be 100644 --- a/lib/streaming_providers/base/catchup_operations.py +++ b/lib/streaming_providers/base/catchup_operations.py @@ -25,6 +25,7 @@ class CatchupOperations: end_time: int, epg_id: Optional[str] = None, country: Optional[str] = None, + drm_variant: Optional[str] = "auto", ) -> Optional[str]: """Get catchup manifest URL.""" provider = self.registry.get_provider(provider_name) @@ -47,6 +48,7 @@ class CatchupOperations: end_time=end_time, epg_id=epg_id, country=country, + drm_variant=drm_variant, ) except NotImplementedError: logger.error(f"Provider '{provider_name}' hasn't implemented catchup") diff --git a/lib/streaming_providers/base/manager.py b/lib/streaming_providers/base/manager.py index 33b9335..b51c43d 100644 --- a/lib/streaming_providers/base/manager.py +++ b/lib/streaming_providers/base/manager.py @@ -194,9 +194,10 @@ class ProviderManager: end_time: int, epg_id: Optional[str] = None, country: Optional[str] = None, + drm_variant = "auto", ) -> Optional[str]: return self.catchup_ops.get_catchup_manifest( - provider_name, channel_id, start_time, end_time, epg_id, country + provider_name, channel_id, start_time, end_time, epg_id, country, drm_variant ) def get_catchup_drm_configs( diff --git a/lib/streaming_providers/base/provider.py b/lib/streaming_providers/base/provider.py index e78529a..2371fa2 100644 --- a/lib/streaming_providers/base/provider.py +++ b/lib/streaming_providers/base/provider.py @@ -1189,6 +1189,7 @@ class StreamingProvider(ABC): start_time: int, end_time: int, epg_id: Optional[str] = None, + drm_variant: Optional[str] = "auto", **kwargs, ) -> Optional[str]: """ diff --git a/lib/streaming_providers/providers/magenta2/playback_manager.py b/lib/streaming_providers/providers/magenta2/playback_manager.py index a9ee31f..aa72082 100644 --- a/lib/streaming_providers/providers/magenta2/playback_manager.py +++ b/lib/streaming_providers/providers/magenta2/playback_manager.py @@ -179,7 +179,7 @@ class PlaybackManager: return self._smil_manager.get_drm(content_id, content_type, **kwargs) def get_catchup_manifest( - self, content_id: str, start_time: int, end_time: int, **kwargs + self, content_id: str, start_time: int, end_time: int, drm_variant: str, **kwargs ) -> Optional[str]: """ Return a catchup manifest URL for *channel_id*. diff --git a/lib/streaming_providers/providers/magenta2/provider.py b/lib/streaming_providers/providers/magenta2/provider.py index 253d60e..ffc59fe 100644 --- a/lib/streaming_providers/providers/magenta2/provider.py +++ b/lib/streaming_providers/providers/magenta2/provider.py @@ -664,10 +664,10 @@ class Magenta2Provider(StreamingProvider): return self._playback_manager.get_drm(content_id, content_type, **kwargs) def get_catchup_manifest( - self, content_id: str, start_time: int, end_time: int, **kwargs: Any + self, content_id: str, start_time: int, end_time: int, drm_variant: str, **kwargs: Any ) -> Optional[str]: return self._playback_manager.get_catchup_manifest( - content_id, start_time, end_time, **kwargs + content_id, start_time, end_time, drm_variant, **kwargs ) def get_vod_category( diff --git a/lib/streaming_providers/providers/magentaeu/provider.py b/lib/streaming_providers/providers/magentaeu/provider.py index 6d78561..33b7fc5 100644 --- a/lib/streaming_providers/providers/magentaeu/provider.py +++ b/lib/streaming_providers/providers/magentaeu/provider.py @@ -365,7 +365,7 @@ class MagentaEUProvider(StreamingProvider): return None def get_catchup_manifest( - self, content_id: str, start_time: int, end_time: int, **kwargs + self, content_id: str, start_time: int, end_time: int, drm_variant: str, **kwargs ) -> Optional[str]: """ Get catchup manifest URL for Magenta TV.