From 132bf518082593b126f47d52217ee8e4d350be91 Mon Sep 17 00:00:00 2001 From: Justin Oro Date: Sat, 29 Aug 2026 00:45:42 -0700 Subject: [PATCH] require minimum title similarity in best_match's no-year fallback to prevent false matches --- plex-library-tool.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/plex-library-tool.py b/plex-library-tool.py index dc0ca47..5547cf9 100755 --- a/plex-library-tool.py +++ b/plex-library-tool.py @@ -851,7 +851,17 @@ def best_match(media_type, results, year, query=None): if is_exact_title(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