OMDb-Qualitaets-Gate: ohne Poster UND Plot = Nicht-Treffer, Kette laeuft weiter
Ampel / ampel (push) Failing after 36s

Der Datenmuell-Eintrag ("Episode 110 - ...") war der EINZIGE s=-Treffer
fuer den vollen Titel und brach die Kandidaten-Kette bei 0.8 ab, bevor
"Evangelion" allein probiert wurde. N/A-Werte werden jetzt normalisiert.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Hitonabi
2026-07-23 21:13:03 +02:00
parent 241ce3ec78
commit 85f352b14f
+16 -3
View File
@@ -89,16 +89,29 @@ class OMDbClient:
if data.get("Response") != "True":
return None
plot = data.get("Plot", "")
if plot == "N/A":
plot = ""
poster = data.get("Poster", "")
if poster == "N/A":
poster = ""
# Qualitäts-Gate: Einträge ohne Poster UND ohne Beschreibung sind
# fast immer Datenmüll (Review-Episoden etc.) — als Nicht-Treffer
# werten, damit die Kandidaten-Kette weiterprobiert.
if not poster and not plot:
return None
ergebnis = {
"type": "tv" if data.get("Type") == "series" else "movie",
"id": data.get("imdbID", ""),
"title": data.get("Title", title),
"year": parse_year(data.get("Year", "")),
"overview": data.get("Plot", ""),
"poster_path": data.get("Poster", "") if data.get("Poster") != "N/A" else "",
"overview": plot,
"poster_path": poster,
"backdrop_path": "",
"runtime": parse_runtime_minutes(data.get("Runtime", "")),
"genres": [g.strip() for g in data.get("Genre", "").split(",") if g.strip()],
"genres": [g.strip() for g in data.get("Genre", "").split(",") if g.strip() and g.strip() != "N/A"],
"source": "omdb",
}
cache_set(cache_key, ergebnis)