Add Filmpalast plugin search flow and bump to 0.1.50

This commit is contained in:
2026-02-02 22:16:43 +01:00
parent db61bb67ba
commit ae3cff7528
6 changed files with 734 additions and 7 deletions

View File

@@ -1235,11 +1235,14 @@ def _show_seasons(plugin_name: str, title: str, series_url: str = "") -> None:
info_labels: dict[str, object] = {"title": title, "mediatype": "movie"}
info_labels = _apply_playstate_to_info(info_labels, playstate)
display_label = _label_with_playstate(title, playstate)
movie_params = {"plugin": plugin_name, "title": title}
if series_url:
movie_params["series_url"] = series_url
_add_directory_item(
handle,
display_label,
"play_movie",
{"plugin": plugin_name, "title": title},
movie_params,
is_folder=False,
info_labels=info_labels,
)
@@ -1258,11 +1261,16 @@ def _show_seasons(plugin_name: str, title: str, series_url: str = "") -> None:
info_labels: dict[str, object] = {"title": title, "mediatype": "movie"}
info_labels = _apply_playstate_to_info(info_labels, playstate)
display_label = _label_with_playstate(title, playstate)
movie_params = {"plugin": plugin_name, "title": title}
if series_url:
movie_params["series_url"] = series_url
else:
movie_params.update(_series_url_params(plugin, title))
_add_directory_item(
handle,
display_label,
"play_movie",
{"plugin": plugin_name, "title": title},
movie_params,
is_folder=False,
info_labels=info_labels,
)
@@ -2611,6 +2619,15 @@ def run() -> None:
elif action == "play_movie":
plugin_name = params.get("plugin", "")
title = params.get("title", "")
series_url = params.get("series_url", "")
if series_url:
plugin = _discover_plugins().get(plugin_name)
remember_series_url = getattr(plugin, "remember_series_url", None) if plugin is not None else None
if callable(remember_series_url):
try:
remember_series_url(title, series_url)
except Exception:
pass
# Einschalten liefert Filme (keine Staffeln/Episoden). Für Playback nutzen wir:
# <Titel> -> Stream -> <Titel>.
if (plugin_name or "").casefold() == "einschalten":