This commit is contained in:
team3
2026-09-08 17:57:51 +02:00
parent 4de5018409
commit 13df86e9fc
12 changed files with 1088 additions and 90 deletions

View File

@@ -1,3 +1,5 @@
import unicodedata
import httpx
from .config import (
@@ -63,6 +65,36 @@ async def detail(http, movie_id):
return resp.json()
def _fremde_schrift(text):
"""Steht der Titel in einer nichtlateinischen Schrift?"""
for zeichen in text or "":
if zeichen.isalpha() and "LATIN" not in unicodedata.name(zeichen, ""):
return True
return False
def pick_title(data):
"""Deutscher Titel, sonst der englische aus den Translations.
Für indische, chinesische und koreanische Filme hat TMDB oft keine
deutsche Fassung und gibt den Originaltitel zurück — in Originalschrift.
Damit kann hier niemand etwas anfangen; IMDb zeigt an der Stelle den
umschriebenen Titel, und den liefert TMDB in den Translations mit.
"""
titel = data.get("title") or data.get("original_title") or ""
if titel and not _fremde_schrift(titel):
return titel
for entry in data.get("translations", {}).get("translations", []):
if entry.get("iso_639_1") != "en":
continue
englisch = entry.get("data", {}).get("title")
if englisch and not _fremde_schrift(englisch):
return englisch
return titel or "Ohne Titel"
def pick_overview(data):
"""Deutsche Synopsis, sonst englische aus den Translations."""
if data.get("overview"):