OMDb-Ergebnis-Waehler: Filme vor Episoden, Poster vor ohne, kurz vor lang
Ampel / ampel (push) Failing after 39s
Ampel / ampel (push) Failing after 39s
Die unscharfe Suche nahm blind Treffer 1 — fuer "Evangelion" war das "Episode 110 - ..." (ein Review-Podcast ueber den Film, ohne Poster). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -66,9 +66,20 @@ class OMDbClient:
|
||||
).json()
|
||||
treffer = (suche.get("Search") or []) if suche.get("Response") == "True" else []
|
||||
if treffer:
|
||||
# Bester Kandidat statt blind Treffer #1: echte Filme vor
|
||||
# Episoden/Reviews, mit Poster vor ohne, kurzer Titel vor
|
||||
# langem (Zusatz-Geschwafel wie "Episode 110 - …" verliert).
|
||||
def rang(t: Dict):
|
||||
return (
|
||||
0 if t.get("Type") == "movie" else (1 if t.get("Type") == "series" else 2),
|
||||
0 if t.get("Poster") not in (None, "", "N/A") else 1,
|
||||
len(t.get("Title") or ""),
|
||||
)
|
||||
|
||||
bester = sorted(treffer, key=rang)[0]
|
||||
data = self.session.get(
|
||||
OMDB_BASE_URL,
|
||||
params={"apikey": self.api_key, "i": treffer[0]["imdbID"], "r": "json"},
|
||||
params={"apikey": self.api_key, "i": bester["imdbID"], "r": "json"},
|
||||
timeout=10,
|
||||
).json()
|
||||
except Exception as e:
|
||||
|
||||
Reference in New Issue
Block a user