dev: bump to 0.1.86.0-dev Settings-Menü benutzerfreundlicher gestaltet

This commit is contained in:
2026-04-02 21:47:34 +02:00
parent 30bafd269c
commit b0706befdb
4 changed files with 129 additions and 105 deletions

View File

@@ -602,6 +602,20 @@ def _get_setting_int(setting_id: str, *, default: int = 0) -> int:
return default
_PREFERRED_HOSTERS_LIST = [
"voe", "streamtape", "doodstream", "vidoza", "mixdrop", "supervideo", "dropload",
]
def _get_preferred_hoster() -> str:
"""Liest preferred_hoster (enum-Index) und gibt den Hosternamen zurueck."""
raw = _get_setting_string("preferred_hoster").strip()
try:
return _PREFERRED_HOSTERS_LIST[int(raw)]
except (ValueError, IndexError):
return raw # Fallback: Textwert direkt verwenden
def _metadata_policy(
plugin_name: str,
plugin: BasisPlugin,
@@ -1535,6 +1549,11 @@ def _install_addon_version(info_url: str, version: str) -> bool:
return _install_addon_version_manual(info_url, version)
def _sync_trakt_status_setting() -> None:
connected = bool(_trakt_load_token())
_get_addon().setSetting("trakt_status", "Verbunden" if connected else "Nicht verbunden")
def _sync_update_channel_status_settings() -> None:
channel = _selected_update_channel()
selected_info_url = _resolve_update_info_url()
@@ -4388,7 +4407,7 @@ def _play_episode(
selected_hoster: str | None = None
forced_hoster = (forced_hoster or "").strip()
autoplay = _get_setting_bool("autoplay_enabled", default=False)
preferred = _get_setting_string("preferred_hoster").strip()
preferred = _get_preferred_hoster()
if available_hosters:
if forced_hoster:
for hoster in available_hosters:
@@ -4507,7 +4526,7 @@ def _play_episode_url(
selected_hoster: str | None = None
autoplay = _get_setting_bool("autoplay_enabled", default=False)
preferred = _get_setting_string("preferred_hoster").strip()
preferred = _get_preferred_hoster()
if available_hosters:
if autoplay and preferred:
pref_lower = preferred.casefold()
@@ -5546,6 +5565,7 @@ def run() -> None:
_log(f"Action: {action}", xbmc.LOGDEBUG)
_maybe_run_auto_update_check(action)
_maybe_auto_install_resolveurl(action)
_sync_trakt_status_setting()
_router.dispatch(action=action, params=params)