ui: make user-visible texts clearer and more human
This commit is contained in:
@@ -1128,7 +1128,7 @@ def _sync_update_version_settings() -> None:
|
||||
def _show_root_menu() -> None:
|
||||
handle = _get_handle()
|
||||
_log("Root-Menue wird angezeigt.")
|
||||
_add_directory_item(handle, "Globale Suche", "search")
|
||||
_add_directory_item(handle, "Suche in allen Quellen", "search")
|
||||
|
||||
plugins = _discover_plugins()
|
||||
for plugin_name in sorted(plugins.keys(), key=lambda value: value.casefold()):
|
||||
@@ -1143,7 +1143,7 @@ def _show_plugin_menu(plugin_name: str) -> None:
|
||||
plugin_name = (plugin_name or "").strip()
|
||||
plugin = _discover_plugins().get(plugin_name)
|
||||
if not plugin:
|
||||
xbmcgui.Dialog().notification("Plugin", "Plugin nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcgui.Dialog().notification("Quelle", "Quelle nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcplugin.endOfDirectory(handle)
|
||||
return
|
||||
|
||||
@@ -1167,7 +1167,7 @@ def _show_plugin_menu(plugin_name: str) -> None:
|
||||
_add_directory_item(handle, "Serien", "series_catalog", {"plugin": plugin_name, "page": "1"}, is_folder=True)
|
||||
|
||||
if _plugin_has_capability(plugin, "popular_series"):
|
||||
_add_directory_item(handle, "Meist gesehen", "popular", {"plugin": plugin_name, "page": "1"}, is_folder=True)
|
||||
_add_directory_item(handle, "Beliebte Serien", "popular", {"plugin": plugin_name, "page": "1"}, is_folder=True)
|
||||
|
||||
xbmcplugin.endOfDirectory(handle)
|
||||
|
||||
@@ -1176,7 +1176,7 @@ def _show_plugin_search(plugin_name: str) -> None:
|
||||
plugin_name = (plugin_name or "").strip()
|
||||
plugin = _discover_plugins().get(plugin_name)
|
||||
if not plugin:
|
||||
xbmcgui.Dialog().notification("Suche", "Plugin nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcgui.Dialog().notification("Suche", "Quelle nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
_show_root_menu()
|
||||
return
|
||||
|
||||
@@ -1197,7 +1197,7 @@ def _show_plugin_search_results(plugin_name: str, query: str) -> None:
|
||||
query = (query or "").strip()
|
||||
plugin = _discover_plugins().get(plugin_name)
|
||||
if not plugin:
|
||||
xbmcgui.Dialog().notification("Suche", "Plugin nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcgui.Dialog().notification("Suche", "Quelle nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcplugin.endOfDirectory(handle)
|
||||
return
|
||||
|
||||
@@ -1208,8 +1208,8 @@ def _show_plugin_search_results(plugin_name: str, query: str) -> None:
|
||||
list_items: list[dict[str, object]] = []
|
||||
canceled = False
|
||||
try:
|
||||
with _progress_dialog("Suche läuft", f"{plugin_name} (1/1) starte…") as progress:
|
||||
canceled = progress(5, f"{plugin_name} (1/1) Suche…")
|
||||
with _progress_dialog("Suche laeuft", f"{plugin_name} (1/1) startet...") as progress:
|
||||
canceled = progress(5, f"{plugin_name} (1/1) Suche...")
|
||||
search_coro = plugin.search_titles(query)
|
||||
try:
|
||||
results = _run_async(search_coro)
|
||||
@@ -1240,7 +1240,7 @@ def _show_plugin_search_results(plugin_name: str, query: str) -> None:
|
||||
if _needs_tmdb(meta_labels, meta_art, want_plot=show_plot, want_art=show_art):
|
||||
tmdb_titles.append(title)
|
||||
if show_tmdb and tmdb_titles and not canceled:
|
||||
canceled = progress(35, f"{plugin_name} (1/1) Metadaten…")
|
||||
canceled = progress(35, f"{plugin_name} (1/1) Metadaten...")
|
||||
tmdb_prefetched = _tmdb_labels_and_art_bulk(list(tmdb_titles))
|
||||
|
||||
total_results = max(1, len(results))
|
||||
@@ -1415,7 +1415,7 @@ def _series_url_params(plugin: BasisPlugin, title: str) -> dict[str, str]:
|
||||
def _show_search() -> None:
|
||||
_log("Suche gestartet.")
|
||||
dialog = xbmcgui.Dialog()
|
||||
query = dialog.input("Serientitel eingeben", type=xbmcgui.INPUT_ALPHANUM).strip()
|
||||
query = dialog.input("Titel eingeben", type=xbmcgui.INPUT_ALPHANUM).strip()
|
||||
if not query:
|
||||
_log("Suche abgebrochen (leere Eingabe).", xbmc.LOGDEBUG)
|
||||
_show_root_menu()
|
||||
@@ -1430,18 +1430,18 @@ def _show_search_results(query: str) -> None:
|
||||
_set_content(handle, "tvshows")
|
||||
plugins = _discover_plugins()
|
||||
if not plugins:
|
||||
xbmcgui.Dialog().notification("Suche", "Keine Plugins gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcgui.Dialog().notification("Suche", "Keine Quellen gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcplugin.endOfDirectory(handle)
|
||||
return
|
||||
list_items: list[dict[str, object]] = []
|
||||
canceled = False
|
||||
plugin_entries = list(plugins.items())
|
||||
total_plugins = max(1, len(plugin_entries))
|
||||
with _progress_dialog("Suche läuft", "Suche gestartet…") as progress:
|
||||
with _progress_dialog("Suche laeuft", "Suche startet...") as progress:
|
||||
for plugin_index, (plugin_name, plugin) in enumerate(plugin_entries, start=1):
|
||||
range_start = int(((plugin_index - 1) / float(total_plugins)) * 100)
|
||||
range_end = int((plugin_index / float(total_plugins)) * 100)
|
||||
canceled = progress(range_start, f"{plugin_name} ({plugin_index}/{total_plugins}) Suche…")
|
||||
canceled = progress(range_start, f"{plugin_name} ({plugin_index}/{total_plugins}) Suche...")
|
||||
if canceled:
|
||||
break
|
||||
search_coro = plugin.search_titles(query)
|
||||
@@ -1476,7 +1476,7 @@ def _show_search_results(query: str) -> None:
|
||||
if show_tmdb and tmdb_titles:
|
||||
canceled = progress(
|
||||
range_start + int((range_end - range_start) * 0.35),
|
||||
f"{plugin_name} ({plugin_index}/{total_plugins}) Metadaten…",
|
||||
f"{plugin_name} ({plugin_index}/{total_plugins}) Metadaten...",
|
||||
)
|
||||
if canceled:
|
||||
break
|
||||
@@ -1519,7 +1519,7 @@ def _show_search_results(query: str) -> None:
|
||||
if canceled:
|
||||
break
|
||||
if not canceled:
|
||||
progress(100, "Suche abgeschlossen")
|
||||
progress(100, "Suche fertig")
|
||||
if canceled and not list_items:
|
||||
xbmcgui.Dialog().notification("Suche", "Suche abgebrochen.", xbmcgui.NOTIFICATION_INFO, 2500)
|
||||
xbmcplugin.endOfDirectory(handle)
|
||||
@@ -1544,7 +1544,7 @@ def _show_seasons(plugin_name: str, title: str, series_url: str = "") -> None:
|
||||
_log(f"Staffeln laden: {plugin_name} / {title}")
|
||||
plugin = _discover_plugins().get(plugin_name)
|
||||
if plugin is None:
|
||||
xbmcgui.Dialog().notification("Staffeln", "Plugin nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcgui.Dialog().notification("Staffeln", "Quelle nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcplugin.endOfDirectory(handle)
|
||||
return
|
||||
if series_url:
|
||||
@@ -1634,7 +1634,7 @@ def _show_seasons(plugin_name: str, title: str, series_url: str = "") -> None:
|
||||
seasons = plugin.seasons_for(title)
|
||||
except Exception as exc:
|
||||
_log(f"Staffeln laden fehlgeschlagen ({plugin_name}): {exc}", xbmc.LOGWARNING)
|
||||
xbmcgui.Dialog().notification("Staffeln", "Konnte Staffeln nicht laden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcgui.Dialog().notification("Staffeln", "Staffeln konnten nicht geladen werden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcplugin.endOfDirectory(handle)
|
||||
return
|
||||
|
||||
@@ -1715,7 +1715,7 @@ def _show_episodes(plugin_name: str, title: str, season: str, series_url: str =
|
||||
_log(f"Episoden laden: {plugin_name} / {title} / {season}")
|
||||
plugin = _discover_plugins().get(plugin_name)
|
||||
if plugin is None:
|
||||
xbmcgui.Dialog().notification("Episoden", "Plugin nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcgui.Dialog().notification("Episoden", "Quelle nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcplugin.endOfDirectory(handle)
|
||||
return
|
||||
if series_url:
|
||||
@@ -1839,7 +1839,7 @@ def _show_genre_sources() -> None:
|
||||
sources.append((plugin_name, plugin))
|
||||
|
||||
if not sources:
|
||||
xbmcgui.Dialog().notification("Genres", "Keine Genre-Quellen gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcgui.Dialog().notification("Genres", "Keine Quellen mit Genres gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcplugin.endOfDirectory(handle)
|
||||
return
|
||||
|
||||
@@ -1859,7 +1859,7 @@ def _show_genres(plugin_name: str) -> None:
|
||||
_log(f"Genres laden: {plugin_name}")
|
||||
plugin = _discover_plugins().get(plugin_name)
|
||||
if plugin is None:
|
||||
xbmcgui.Dialog().notification("Genres", "Plugin nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcgui.Dialog().notification("Genres", "Quelle nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcplugin.endOfDirectory(handle)
|
||||
return
|
||||
try:
|
||||
@@ -1896,7 +1896,7 @@ def _show_categories(plugin_name: str) -> None:
|
||||
_log(f"Kategorien laden: {plugin_name}")
|
||||
plugin = _discover_plugins().get(plugin_name)
|
||||
if plugin is None:
|
||||
xbmcgui.Dialog().notification("Kategorien", "Plugin nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcgui.Dialog().notification("Kategorien", "Quelle nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcplugin.endOfDirectory(handle)
|
||||
return
|
||||
getter = getattr(plugin, "categories", None)
|
||||
@@ -1929,14 +1929,14 @@ def _show_category_titles_page(plugin_name: str, category: str, page: int = 1) -
|
||||
handle = _get_handle()
|
||||
plugin = _discover_plugins().get(plugin_name)
|
||||
if plugin is None:
|
||||
xbmcgui.Dialog().notification("Kategorien", "Plugin nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcgui.Dialog().notification("Kategorien", "Quelle nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcplugin.endOfDirectory(handle)
|
||||
return
|
||||
|
||||
page = max(1, int(page or 1))
|
||||
paging_getter = getattr(plugin, "titles_for_genre_page", None)
|
||||
if not callable(paging_getter):
|
||||
xbmcgui.Dialog().notification("Kategorien", "Paging nicht verfuegbar.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcgui.Dialog().notification("Kategorien", "Seitenwechsel nicht verfuegbar.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcplugin.endOfDirectory(handle)
|
||||
return
|
||||
|
||||
@@ -2045,14 +2045,14 @@ def _show_genre_titles_page(plugin_name: str, genre: str, page: int = 1) -> None
|
||||
handle = _get_handle()
|
||||
plugin = _discover_plugins().get(plugin_name)
|
||||
if plugin is None:
|
||||
xbmcgui.Dialog().notification("Genres", "Plugin nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcgui.Dialog().notification("Genres", "Quelle nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcplugin.endOfDirectory(handle)
|
||||
return
|
||||
|
||||
page = max(1, int(page or 1))
|
||||
paging_getter = getattr(plugin, "titles_for_genre_page", None)
|
||||
if not callable(paging_getter):
|
||||
xbmcgui.Dialog().notification("Genres", "Paging nicht verfügbar.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcgui.Dialog().notification("Genres", "Seitenwechsel nicht verfuegbar.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcplugin.endOfDirectory(handle)
|
||||
return
|
||||
|
||||
@@ -2163,12 +2163,12 @@ def _show_alpha_index(plugin_name: str) -> None:
|
||||
_log(f"A-Z laden: {plugin_name}")
|
||||
plugin = _discover_plugins().get(plugin_name)
|
||||
if plugin is None:
|
||||
xbmcgui.Dialog().notification("A-Z", "Plugin nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcgui.Dialog().notification("A-Z", "Quelle nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcplugin.endOfDirectory(handle)
|
||||
return
|
||||
getter = getattr(plugin, "alpha_index", None)
|
||||
if not callable(getter):
|
||||
xbmcgui.Dialog().notification("A-Z", "A-Z nicht verfügbar.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcgui.Dialog().notification("A-Z", "A-Z nicht verfuegbar.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcplugin.endOfDirectory(handle)
|
||||
return
|
||||
try:
|
||||
@@ -2196,14 +2196,14 @@ def _show_alpha_titles_page(plugin_name: str, letter: str, page: int = 1) -> Non
|
||||
handle = _get_handle()
|
||||
plugin = _discover_plugins().get(plugin_name)
|
||||
if plugin is None:
|
||||
xbmcgui.Dialog().notification("A-Z", "Plugin nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcgui.Dialog().notification("A-Z", "Quelle nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcplugin.endOfDirectory(handle)
|
||||
return
|
||||
|
||||
page = max(1, int(page or 1))
|
||||
paging_getter = getattr(plugin, "titles_for_alpha_page", None)
|
||||
if not callable(paging_getter):
|
||||
xbmcgui.Dialog().notification("A-Z", "Paging nicht verfügbar.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcgui.Dialog().notification("A-Z", "Seitenwechsel nicht verfuegbar.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcplugin.endOfDirectory(handle)
|
||||
return
|
||||
|
||||
@@ -2308,14 +2308,14 @@ def _show_series_catalog(plugin_name: str, page: int = 1) -> None:
|
||||
plugin_name = (plugin_name or "").strip()
|
||||
plugin = _discover_plugins().get(plugin_name)
|
||||
if plugin is None:
|
||||
xbmcgui.Dialog().notification("Serien", "Plugin nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcgui.Dialog().notification("Serien", "Quelle nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcplugin.endOfDirectory(handle)
|
||||
return
|
||||
|
||||
page = max(1, int(page or 1))
|
||||
paging_getter = getattr(plugin, "series_catalog_page", None)
|
||||
if not callable(paging_getter):
|
||||
xbmcgui.Dialog().notification("Serien", "Serien nicht verfügbar.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcgui.Dialog().notification("Serien", "Serienkatalog nicht verfuegbar.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcplugin.endOfDirectory(handle)
|
||||
return
|
||||
|
||||
@@ -2548,7 +2548,7 @@ def _show_popular(plugin_name: str | None = None, page: int = 1) -> None:
|
||||
if plugin_name:
|
||||
plugin = _discover_plugins().get(plugin_name)
|
||||
if plugin is None or not _plugin_has_capability(plugin, "popular_series"):
|
||||
xbmcgui.Dialog().notification("Beliebte Serien", "Plugin nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcgui.Dialog().notification("Beliebte Serien", "Quelle nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcplugin.endOfDirectory(handle)
|
||||
return
|
||||
try:
|
||||
@@ -2667,13 +2667,13 @@ def _show_new_titles(plugin_name: str, page: int = 1) -> None:
|
||||
plugin_name = (plugin_name or "").strip()
|
||||
plugin = _discover_plugins().get(plugin_name)
|
||||
if plugin is None or not _plugin_has_capability(plugin, "new_titles"):
|
||||
xbmcgui.Dialog().notification("Neue Titel", "Plugin nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcgui.Dialog().notification("Neue Titel", "Quelle nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcplugin.endOfDirectory(handle)
|
||||
return
|
||||
|
||||
getter = getattr(plugin, "new_titles", None)
|
||||
if not callable(getter):
|
||||
xbmcgui.Dialog().notification("Neue Titel", "Nicht verfügbar.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcgui.Dialog().notification("Neue Titel", "Diese Liste ist nicht verfuegbar.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcplugin.endOfDirectory(handle)
|
||||
return
|
||||
|
||||
@@ -2715,7 +2715,7 @@ def _show_new_titles(plugin_name: str, page: int = 1) -> None:
|
||||
if total == 0:
|
||||
xbmcgui.Dialog().notification(
|
||||
"Neue Titel",
|
||||
"Keine Titel gefunden (Basis-URL/Index prüfen).",
|
||||
"Keine Titel gefunden. Bitte Basis-URL oder Index pruefen.",
|
||||
xbmcgui.NOTIFICATION_INFO,
|
||||
4000,
|
||||
)
|
||||
@@ -2806,13 +2806,13 @@ def _show_latest_episodes(plugin_name: str, page: int = 1) -> None:
|
||||
plugin_name = (plugin_name or "").strip()
|
||||
plugin = _discover_plugins().get(plugin_name)
|
||||
if not plugin:
|
||||
xbmcgui.Dialog().notification("Neueste Folgen", "Plugin nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcgui.Dialog().notification("Neueste Folgen", "Quelle nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcplugin.endOfDirectory(handle)
|
||||
return
|
||||
|
||||
getter = getattr(plugin, "latest_episodes", None)
|
||||
if not callable(getter):
|
||||
xbmcgui.Dialog().notification("Neueste Folgen", "Nicht unterstützt.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcgui.Dialog().notification("Neueste Folgen", "Diese Quelle bietet das nicht an.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcplugin.endOfDirectory(handle)
|
||||
return
|
||||
|
||||
@@ -2883,7 +2883,7 @@ def _show_genre_series_group(plugin_name: str, genre: str, group_code: str, page
|
||||
page = max(1, int(page or 1))
|
||||
plugin = _discover_plugins().get(plugin_name)
|
||||
if plugin is None:
|
||||
xbmcgui.Dialog().notification("Genres", "Plugin nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcgui.Dialog().notification("Genres", "Quelle nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcplugin.endOfDirectory(handle)
|
||||
return
|
||||
|
||||
@@ -3071,11 +3071,11 @@ def _run_update_check() -> None:
|
||||
builtin("UpdateAddonRepos")
|
||||
builtin("UpdateLocalAddons")
|
||||
builtin("ActivateWindow(addonbrowser,addons://updates/)")
|
||||
xbmcgui.Dialog().notification("ViewIT Update", "Update-Pruefung gestartet.", xbmcgui.NOTIFICATION_INFO, 4000)
|
||||
xbmcgui.Dialog().notification("Updates", "Update-Check gestartet.", xbmcgui.NOTIFICATION_INFO, 4000)
|
||||
except Exception as exc:
|
||||
_log(f"Update-Pruefung fehlgeschlagen: {exc}", xbmc.LOGWARNING)
|
||||
try:
|
||||
xbmcgui.Dialog().notification("ViewIT Update", "Update-Pruefung fehlgeschlagen.", xbmcgui.NOTIFICATION_ERROR, 4000)
|
||||
xbmcgui.Dialog().notification("Updates", "Update-Check fehlgeschlagen.", xbmcgui.NOTIFICATION_ERROR, 4000)
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
@@ -3249,7 +3249,7 @@ def _play_episode(
|
||||
_log(f"Play anfordern: {plugin_name} / {title} / {season} / {episode}")
|
||||
plugin = _discover_plugins().get(plugin_name)
|
||||
if plugin is None:
|
||||
xbmcgui.Dialog().notification("Play", "Plugin nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcgui.Dialog().notification("Wiedergabe", "Quelle nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
return
|
||||
|
||||
available_hosters: list[str] = []
|
||||
@@ -3266,7 +3266,7 @@ def _play_episode(
|
||||
if len(available_hosters) == 1:
|
||||
selected_hoster = available_hosters[0]
|
||||
else:
|
||||
selected_index = xbmcgui.Dialog().select("Hoster wählen", available_hosters)
|
||||
selected_index = xbmcgui.Dialog().select("Hoster waehlen", available_hosters)
|
||||
if selected_index is None or selected_index < 0:
|
||||
_log("Play abgebrochen (kein Hoster gewählt).", xbmc.LOGDEBUG)
|
||||
return
|
||||
@@ -3284,8 +3284,8 @@ def _play_episode(
|
||||
try:
|
||||
link = plugin.stream_link_for(title, season, episode)
|
||||
if not link:
|
||||
_log("Kein Stream-Link gefunden.", xbmc.LOGWARNING)
|
||||
xbmcgui.Dialog().notification("Play", "Kein Stream-Link gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
_log("Kein Stream gefunden.", xbmc.LOGWARNING)
|
||||
xbmcgui.Dialog().notification("Wiedergabe", "Kein Stream gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
return
|
||||
_log(f"Stream-Link: {link}", xbmc.LOGDEBUG)
|
||||
final_link = plugin.resolve_stream_link(link) or link
|
||||
@@ -3333,7 +3333,7 @@ def _play_episode_url(
|
||||
_log(f"Play (URL) anfordern: {plugin_name} / {title} / {season_label} / {episode_label} / {episode_url}")
|
||||
plugin = _discover_plugins().get(plugin_name)
|
||||
if plugin is None:
|
||||
xbmcgui.Dialog().notification("Play", "Plugin nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcgui.Dialog().notification("Wiedergabe", "Quelle nicht gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
return
|
||||
|
||||
available_hosters: list[str] = []
|
||||
@@ -3350,7 +3350,7 @@ def _play_episode_url(
|
||||
if len(available_hosters) == 1:
|
||||
selected_hoster = available_hosters[0]
|
||||
else:
|
||||
selected_index = xbmcgui.Dialog().select("Hoster wählen", available_hosters)
|
||||
selected_index = xbmcgui.Dialog().select("Hoster waehlen", available_hosters)
|
||||
if selected_index is None or selected_index < 0:
|
||||
_log("Play abgebrochen (kein Hoster gewählt).", xbmc.LOGDEBUG)
|
||||
return
|
||||
@@ -3367,12 +3367,12 @@ def _play_episode_url(
|
||||
try:
|
||||
link_getter = getattr(plugin, "stream_link_for_url", None)
|
||||
if not callable(link_getter):
|
||||
xbmcgui.Dialog().notification("Play", "Nicht unterstützt.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
xbmcgui.Dialog().notification("Wiedergabe", "Diese Funktion wird von der Quelle nicht unterstuetzt.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
return
|
||||
link = link_getter(episode_url)
|
||||
if not link:
|
||||
_log("Kein Stream-Link gefunden.", xbmc.LOGWARNING)
|
||||
xbmcgui.Dialog().notification("Play", "Kein Stream-Link gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
_log("Kein Stream gefunden.", xbmc.LOGWARNING)
|
||||
xbmcgui.Dialog().notification("Wiedergabe", "Kein Stream gefunden.", xbmcgui.NOTIFICATION_INFO, 3000)
|
||||
return
|
||||
_log(f"Stream-Link: {link}", xbmc.LOGDEBUG)
|
||||
final_link = plugin.resolve_stream_link(link) or link
|
||||
|
||||
Reference in New Issue
Block a user