From 358cfb19679d9b97d60051ebd472e514174a94f2 Mon Sep 17 00:00:00 2001 From: "itdrui.de" Date: Tue, 24 Feb 2026 13:33:35 +0100 Subject: [PATCH] dev: switch Serienstream genres to strict page-on-demand flow --- addon/default.py | 10 +++++++--- addon/plugins/serienstream_plugin.py | 4 +--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/addon/default.py b/addon/default.py index 1123c82..cf80972 100644 --- a/addon/default.py +++ b/addon/default.py @@ -2280,9 +2280,13 @@ def _show_category_titles_page(plugin_name: str, category: str, page: int = 1) - titles.sort(key=lambda value: value.casefold()) if titles: - use_source, show_tmdb, prefer_source = _metadata_policy( - plugin_name, plugin, allow_tmdb=_tmdb_list_enabled() - ) + minimal_genre_list = _plugin_has_capability(plugin, "minimal_genre_list") + if minimal_genre_list: + use_source, show_tmdb, prefer_source = True, False, True + else: + use_source, show_tmdb, prefer_source = _metadata_policy( + plugin_name, plugin, allow_tmdb=_tmdb_list_enabled() + ) plugin_meta = _collect_plugin_metadata(plugin, titles) if use_source else {} show_plot = _get_setting_bool("tmdb_show_plot", default=True) show_art = _get_setting_bool("tmdb_show_art", default=True) diff --git a/addon/plugins/serienstream_plugin.py b/addon/plugins/serienstream_plugin.py index a63842f..a433ebf 100644 --- a/addon/plugins/serienstream_plugin.py +++ b/addon/plugins/serienstream_plugin.py @@ -1110,7 +1110,6 @@ class SerienstreamPlugin(BasisPlugin): self._episode_label_cache: Dict[Tuple[str, str], Dict[str, EpisodeInfo]] = {} self._catalog_cache: Optional[Dict[str, List[SeriesResult]]] = None self._genre_group_cache: Dict[str, Dict[str, List[str]]] = {} - self._genre_page_titles_cache: Dict[Tuple[str, int], List[str]] = {} self._genre_page_entries_cache: Dict[Tuple[str, int], List[SeriesResult]] = {} self._genre_page_has_more_cache: Dict[Tuple[str, int], bool] = {} self._popular_cache: Optional[List[SeriesResult]] = None @@ -1322,7 +1321,7 @@ class SerienstreamPlugin(BasisPlugin): def capabilities(self) -> set[str]: """Meldet unterstützte Features für Router-Menüs.""" - return {"popular_series", "genres", "latest_episodes"} + return {"popular_series", "genres", "latest_episodes", "minimal_genre_list"} def popular_series(self) -> List[str]: """Liefert die Titel der beliebten Serien (Quelle: `/beliebte-serien`).""" @@ -1518,7 +1517,6 @@ class SerienstreamPlugin(BasisPlugin): entries = entries[:GENRE_LIST_PAGE_SIZE] self._genre_page_entries_cache[cache_key] = list(entries) - self._genre_page_titles_cache[cache_key] = [entry.title for entry in entries if entry.title] self._genre_page_has_more_cache[cache_key] = bool(has_more) return list(entries), bool(has_more)