dev: bump to 0.1.71-dev – Episodentitel und TMDB API-Key-Fix

This commit is contained in:
2026-03-01 19:45:45 +01:00
parent 3c0891b638
commit 95e14583e0
2 changed files with 9 additions and 7 deletions

View File

@@ -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 []

View File

@@ -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