From 95e14583e011b257f430133eba7152ad56892bec Mon Sep 17 00:00:00 2001 From: "itdrui.de" Date: Sun, 1 Mar 2026 19:45:45 +0100 Subject: [PATCH] =?UTF-8?q?dev:=20bump=20to=200.1.71-dev=20=E2=80=93=20Epi?= =?UTF-8?q?sodentitel=20und=20TMDB=20API-Key-Fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- addon/default.py | 10 +++++----- addon/tmdb.py | 6 ++++-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/addon/default.py b/addon/default.py index ab3b3dd..b863283 100644 --- a/addon/default.py +++ b/addon/default.py @@ -177,7 +177,7 @@ def _fetch_and_cache_imdb_id(title_key: str, tmdb_id: int, kind: str) -> str: if cached is not None: return cached api_key = _get_setting_string("tmdb_api_key").strip() - if not api_key or not tmdb_id: + if not api_key or api_key == "None" or not tmdb_id: return "" ext = fetch_external_ids(kind=kind, tmdb_id=tmdb_id, api_key=api_key) imdb_id = ext.imdb_id if ext else "" @@ -856,7 +856,7 @@ def _tmdb_labels_and_art(title: str) -> tuple[dict[str, str], dict[str, str], li api_key = _get_setting_string("tmdb_api_key").strip() log_requests = _get_setting_bool("tmdb_log_requests", default=False) log_responses = _get_setting_bool("tmdb_log_responses", default=False) - if api_key: + if api_key and api_key != "None": try: log_fn = _tmdb_file_log if (log_requests or log_responses) else None # Einige Plugins liefern Titel wie "… – Der Film". Für TMDB ist oft der Basistitel besser. @@ -1002,7 +1002,7 @@ def _tmdb_episode_labels_and_art(*, title: str, season_label: str, episode_label cached_season = _tmdb_cache_get(_TMDB_SEASON_CACHE, season_key) if cached_season is None: api_key = _get_setting_string("tmdb_api_key").strip() - if not api_key: + if not api_key or api_key == "None": return {"title": episode_label}, {} log_requests = _get_setting_bool("tmdb_log_requests", default=False) log_responses = _get_setting_bool("tmdb_log_responses", default=False) @@ -1023,7 +1023,7 @@ def _tmdb_episode_labels_and_art(*, title: str, season_label: str, episode_label mapped: dict[int, tuple[dict[str, str], dict[str, str]]] = {} if season_meta: for ep_no, ep in season_meta.items(): - info: dict[str, str] = {"title": f"Episode {ep_no}"} + info: dict[str, str] = {"title": ep.title or f"Episode {ep_no}"} if show_plot and ep.plot: info["plot"] = ep.plot if getattr(ep, "runtime_minutes", 0): @@ -1065,7 +1065,7 @@ def _tmdb_episode_cast(*, title: str, season_label: str, episode_label: str) -> return list(cached) api_key = _get_setting_string("tmdb_api_key").strip() - if not api_key: + if not api_key or api_key == "None": _tmdb_cache_set(_TMDB_EPISODE_CAST_CACHE, cache_key, []) return [] diff --git a/addon/tmdb.py b/addon/tmdb.py index 162429e..d41a95d 100644 --- a/addon/tmdb.py +++ b/addon/tmdb.py @@ -454,6 +454,7 @@ def lookup_movie( @dataclass(frozen=True) class TmdbEpisodeMeta: + title: str plot: str thumb: str runtime_minutes: int @@ -545,6 +546,7 @@ def lookup_tv_season( continue if not ep_number: continue + title = (entry.get("name") or "").strip() plot = (entry.get("overview") or "").strip() runtime_minutes = 0 try: @@ -553,9 +555,9 @@ def lookup_tv_season( runtime_minutes = 0 still_path = (entry.get("still_path") or "").strip() thumb = f"{TMDB_IMAGE_BASE}/w300{still_path}" if still_path else "" - if not plot and not thumb and not runtime_minutes: + if not title and not plot and not thumb and not runtime_minutes: continue - result[ep_number] = TmdbEpisodeMeta(plot=plot, thumb=thumb, runtime_minutes=runtime_minutes) + result[ep_number] = TmdbEpisodeMeta(title=title, plot=plot, thumb=thumb, runtime_minutes=runtime_minutes) return result or None