require minimum title similarity in best_match's no-year fallback to prevent false matches

This commit is contained in:
justin committed 2026-08-29 00:45:42 -07:00
1 parent d02855f7a6
commit 132bf51808
1 file changed
+11 -1
+11 -1
View File
@@ -851,7 +851,17 @@ def best_match(media_type, results, year, query=None):
if is_exact_title(r): if is_exact_title(r):
return r return r
return results[0] def title_similarity(r):
return difflib.SequenceMatcher(
None, query_norm, clean_and_squeeze(result_title(media_type, r) or "").lower()
).ratio()
best = max(results, key=title_similarity)
if title_similarity(best) >= YEAR_MATCH_MIN_SIMILARITY:
return best
return None
return None
FUZZY_TITLE_MATCH_THRESHOLD = 0.85 FUZZY_TITLE_MATCH_THRESHOLD = 0.85