diff --git a/CHANGELOG-DEV.md b/CHANGELOG-DEV.md index 3159fe5..7dcc851 100644 --- a/CHANGELOG-DEV.md +++ b/CHANGELOG-DEV.md @@ -1,3 +1,7 @@ +## 0.1.85.5-dev - 2026-04-02 + +- dev: bump to 0.1.85.0-dev settings.xml und default.py auf 0.1.84.5-Stand zurueckgesetzt, serienstream_plugin.py aktuell behalten + ## 0.1.85.0-dev - 2026-04-01 - dev: bump to 0.1.84.5-dev settings.xml auf Kodi 19+ Format (version=1) migriert, Level-Filter fuer Expert/Advanced korrigiert diff --git a/addon/addon.xml b/addon/addon.xml index 2f2e35a..7711be7 100644 --- a/addon/addon.xml +++ b/addon/addon.xml @@ -1,5 +1,5 @@ - + diff --git a/addon/default.py b/addon/default.py index 4a80f8b..f173ef6 100644 --- a/addon/default.py +++ b/addon/default.py @@ -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) diff --git a/addon/resources/settings.xml b/addon/resources/settings.xml index 29a9a7f..1d36878 100644 --- a/addon/resources/settings.xml +++ b/addon/resources/settings.xml @@ -1,41 +1,68 @@ - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -49,82 +76,55 @@ - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + +