Prepare RTLPlus for new streaming prov

This commit is contained in:
Nirvana
2026-04-24 11:10:35 +02:00
parent f2b5c3a5da
commit d0fcb5a159
2 changed files with 18 additions and 2 deletions
@@ -336,7 +336,11 @@ class RTLPlusChannelManager:
preferred_format
preferred_drm_type
"""
# Normalize the channel identifier to SEO name
token = self._provider.get_user_bearer_token()
if not token:
logger.error("User authentication required for linear TV stream, not authenticated")
return None # or [] for DRM
channel_seo = self._normalize_channel_identifier(channel_id)
assets = self.extract_stream_assets(channel_seo)
@@ -358,4 +358,16 @@ class RTLPlusProvider(StreamingProvider):
data = response.json()
self._manifest_cache[content_id] = (data, now)
return data
return data
def get_user_bearer_token(self) -> Optional[str]:
"""Get a user-authenticated bearer token, upgrading if necessary. Returns None if impossible."""
from ...base.auth.base_auth import TokenAuthLevel
current_level = self.authenticator.get_current_token_level()
if current_level == TokenAuthLevel.USER_AUTHENTICATED:
return self.authenticator.get_bearer_token()
if self.authenticator.has_user_credentials():
token = self.authenticator.get_bearer_token(force_upgrade=True)
if self.authenticator.get_current_token_level() == TokenAuthLevel.USER_AUTHENTICATED:
return token
return None