The goal is to let a user type a query such as:
def filter_entries(entries: List[Dict], spec: SearchSpec) -> List[Dict]: def matches(e: Dict) -> bool: # Title fuzzy match – we keep it simple: substring (case‑insensitive) if spec.title.lower() not in e["title"].lower(): return False if spec.year and e["year"] != spec.year: return False # Language check if spec.dual_audio and not e["dual_audio"]: return False if spec.audio: # Require *all* requested languages to be present wanted = lang.title() for lang in spec.audio if not wanted.issubset(set(e["languages"])): return False return True movielinkbdcom charlie 2015 dual audio hind
"query": raw_query, "search_url": "...", "matches": [ ..., ... ] # up to N results The goal is to let a user type a query such as: