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())
|
titles.sort(key=lambda value: value.casefold())
|
||||||
|
|
||||||
if titles:
|
if titles:
|
||||||
use_source, show_tmdb, prefer_source = _metadata_policy(
|
minimal_genre_list = _plugin_has_capability(plugin, "minimal_genre_list")
|
||||||
plugin_name, plugin, allow_tmdb=_tmdb_list_enabled()
|
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 {}
|
plugin_meta = _collect_plugin_metadata(plugin, titles) if use_source else {}
|
||||||
show_plot = _get_setting_bool("tmdb_show_plot", default=True)
|
show_plot = _get_setting_bool("tmdb_show_plot", default=True)
|
||||||
show_art = _get_setting_bool("tmdb_show_art", 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._episode_label_cache: Dict[Tuple[str, str], Dict[str, EpisodeInfo]] = {}
|
||||||
self._catalog_cache: Optional[Dict[str, List[SeriesResult]]] = None
|
self._catalog_cache: Optional[Dict[str, List[SeriesResult]]] = None
|
||||||
self._genre_group_cache: Dict[str, Dict[str, List[str]]] = {}
|
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_entries_cache: Dict[Tuple[str, int], List[SeriesResult]] = {}
|
||||||
self._genre_page_has_more_cache: Dict[Tuple[str, int], bool] = {}
|
self._genre_page_has_more_cache: Dict[Tuple[str, int], bool] = {}
|
||||||
self._popular_cache: Optional[List[SeriesResult]] = None
|
self._popular_cache: Optional[List[SeriesResult]] = None
|
||||||
@@ -1322,7 +1321,7 @@ class SerienstreamPlugin(BasisPlugin):
|
|||||||
|
|
||||||
def capabilities(self) -> set[str]:
|
def capabilities(self) -> set[str]:
|
||||||
"""Meldet unterstützte Features für Router-Menüs."""
|
"""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]:
|
def popular_series(self) -> List[str]:
|
||||||
"""Liefert die Titel der beliebten Serien (Quelle: `/beliebte-serien`)."""
|
"""Liefert die Titel der beliebten Serien (Quelle: `/beliebte-serien`)."""
|
||||||
@@ -1518,7 +1517,6 @@ class SerienstreamPlugin(BasisPlugin):
|
|||||||
entries = entries[:GENRE_LIST_PAGE_SIZE]
|
entries = entries[:GENRE_LIST_PAGE_SIZE]
|
||||||
|
|
||||||
self._genre_page_entries_cache[cache_key] = list(entries)
|
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)
|
self._genre_page_has_more_cache[cache_key] = bool(has_more)
|
||||||
return list(entries), bool(has_more)
|
return list(entries), bool(has_more)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user