From 318575371f8a44b3c9032adc6922dda71943e0ec Mon Sep 17 00:00:00 2001 From: Nirvana Date: Thu, 7 May 2026 08:30:38 +0200 Subject: [PATCH] Cache move.tv --- lib/streaming_providers/providers/movetv/provider.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/streaming_providers/providers/movetv/provider.py b/lib/streaming_providers/providers/movetv/provider.py index 8564ca3..2a8ad42 100644 --- a/lib/streaming_providers/providers/movetv/provider.py +++ b/lib/streaming_providers/providers/movetv/provider.py @@ -146,6 +146,7 @@ class MoveTVProvider(StreamingProvider): # on self.channels being populated (get_channels may not have been called). self._play_auth_cache: Dict[str, tuple] = {} self._manifest_url_cache: Dict[str, str] = {} + self._last_content_id: Optional[str] = None # Attempt authentication at startup; non-fatal if it fails try: @@ -348,6 +349,16 @@ class MoveTVProvider(StreamingProvider): # ------------------------------------------------------------------ def get_manifest(self, content_id: str, **kwargs) -> Optional[str]: + if content_id != self._last_content_id: + logger.debug( + f"move.tv: Channel switch detected " + f"({self._last_content_id!r} → {content_id!r}), " + f"invalidating play-auth and manifest URL cache" + ) + self._play_auth_cache.pop(content_id, None) + self._manifest_url_cache.pop(content_id, None) + self._last_content_id = content_id + channel = self._channel_by_id(content_id) if channel is None: logger.info(