dev: load full metadata for currently opened genre page
This commit is contained in:
@@ -7,4 +7,4 @@
|
|||||||
- Weitere Seiten werden erst bei `Naechste Seite` geladen.
|
- Weitere Seiten werden erst bei `Naechste Seite` geladen.
|
||||||
- Listen-Parser reduziert auf Titel, Serien-URL und Cover.
|
- Listen-Parser reduziert auf Titel, Serien-URL und Cover.
|
||||||
- Plot wird aus den Karten mit uebernommen und in der Liste angezeigt, falls vorhanden.
|
- Plot wird aus den Karten mit uebernommen und in der Liste angezeigt, falls vorhanden.
|
||||||
- Detail-Metadaten werden erst beim Oeffnen von Staffel/Episode geholt.
|
- Metadaten werden fuer die jeweils geoeffnete Seite vollstaendig geladen und angezeigt.
|
||||||
|
|||||||
@@ -2285,13 +2285,9 @@ 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:
|
||||||
minimal_genre_list = _plugin_has_capability(plugin, "minimal_genre_list")
|
use_source, show_tmdb, prefer_source = _metadata_policy(
|
||||||
if minimal_genre_list:
|
plugin_name, plugin, allow_tmdb=_tmdb_list_enabled()
|
||||||
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)
|
||||||
|
|||||||
@@ -1321,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", "minimal_genre_list"}
|
return {"popular_series", "genres", "latest_episodes"}
|
||||||
|
|
||||||
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`)."""
|
||||||
@@ -1786,6 +1786,17 @@ class SerienstreamPlugin(BasisPlugin):
|
|||||||
if series.description:
|
if series.description:
|
||||||
info["plot"] = series.description
|
info["plot"] = series.description
|
||||||
|
|
||||||
|
# Fuer Listenansichten laden wir pro Seite die Detail-Metadaten vollständig nach.
|
||||||
|
try:
|
||||||
|
soup = _get_soup(series.url, session=get_requests_session("serienstream", headers=HEADERS))
|
||||||
|
parsed_info, parsed_art = _extract_series_metadata(soup)
|
||||||
|
if parsed_info:
|
||||||
|
info.update(parsed_info)
|
||||||
|
if parsed_art:
|
||||||
|
art.update(parsed_art)
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
|
||||||
self._series_metadata_cache[cache_key] = (dict(info), dict(art))
|
self._series_metadata_cache[cache_key] = (dict(info), dict(art))
|
||||||
return info, art, None
|
return info, art, None
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user