dev: switch Serienstream genres to strict page-on-demand flow
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user