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()
|
).json()
|
||||||
treffer = (suche.get("Search") or []) if suche.get("Response") == "True" else []
|
treffer = (suche.get("Search") or []) if suche.get("Response") == "True" else []
|
||||||
if treffer:
|
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(
|
data = self.session.get(
|
||||||
OMDB_BASE_URL,
|
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,
|
timeout=10,
|
||||||
).json()
|
).json()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
Reference in New Issue
Block a user