dev: bump to 0.1.84.5-dev SerienStream Sammlungen mit Poster/Plot, Session-Cache für Sammlungs-URLs
This commit is contained in:
@@ -4765,13 +4765,33 @@ def _show_collection_titles_page(plugin_name: str, collection: str, page: int =
|
||||
xbmcplugin.endOfDirectory(handle)
|
||||
return
|
||||
titles = [str(t).strip() for t in titles if t and str(t).strip()]
|
||||
direct_play = bool(plugin_name.casefold() == "einschalten"
|
||||
and _get_setting_bool("einschalten_enable_playback", default=False))
|
||||
for title in titles:
|
||||
_add_directory_item(handle, title, "play_movie" if direct_play else "seasons",
|
||||
{"plugin": plugin_name, "title": title, **_series_url_params(plugin, title)},
|
||||
is_folder=not direct_play)
|
||||
if titles:
|
||||
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)
|
||||
tmdb_prefetched: dict[str, tuple[dict[str, str], dict[str, str], list[TmdbCastMember]]] = {}
|
||||
tmdb_titles = list(titles) if show_tmdb else []
|
||||
if show_tmdb and prefer_source and use_source:
|
||||
tmdb_titles = [
|
||||
t for t in titles
|
||||
if _needs_tmdb((plugin_meta.get(t) or ({},))[0], (plugin_meta.get(t) or ({}, {}))[1],
|
||||
want_plot=show_plot, want_art=show_art)
|
||||
]
|
||||
if show_tmdb and tmdb_titles:
|
||||
with _busy_dialog(f"{collection} wird geladen..."):
|
||||
tmdb_prefetched = _tmdb_labels_and_art_bulk(tmdb_titles)
|
||||
for title in titles:
|
||||
tmdb_info, tmdb_art, tmdb_cast = tmdb_prefetched.get(title, ({}, {}, [])) if show_tmdb else ({}, {}, [])
|
||||
meta = plugin_meta.get(title)
|
||||
info_labels, art, cast = _merge_metadata(title, tmdb_info, tmdb_art, tmdb_cast, meta)
|
||||
info_labels = dict(info_labels or {})
|
||||
info_labels.setdefault("mediatype", "tvshow")
|
||||
_add_directory_item(handle, title, "seasons",
|
||||
{"plugin": plugin_name, "title": title, **_series_url_params(plugin, title)},
|
||||
is_folder=True, info_labels=info_labels, art=art, cast=cast)
|
||||
_add_directory_item(handle, "Naechste Seite", "collection_titles_page",
|
||||
{"plugin": plugin_name, "collection": collection, "page": str(page + 1)}, is_folder=True)
|
||||
xbmcplugin.endOfDirectory(handle)
|
||||
|
||||
Reference in New Issue
Block a user