From 15c6df88ab289b3983ef541be42ec710034bece6 Mon Sep 17 00:00:00 2001 From: Max Bachmann Date: Sat, 16 Sep 2023 22:24:45 +0200 Subject: [PATCH] perf: use score_cutoff for fuzzy string matching (#2553) --- mealie/services/parser_services/ingredient_parser.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/mealie/services/parser_services/ingredient_parser.py b/mealie/services/parser_services/ingredient_parser.py index 71f99284f089..a5005b4e8060 100644 --- a/mealie/services/parser_services/ingredient_parser.py +++ b/mealie/services/parser_services/ingredient_parser.py @@ -96,15 +96,13 @@ class ABCIngredientParser(ABC): return store_map[match_value] # fuzzy match against food store - fuzz_result = process.extractOne(match_value, store_map.keys(), scorer=fuzz.ratio) + fuzz_result = process.extractOne( + match_value, store_map.keys(), scorer=fuzz.ratio, score_cutoff=fuzzy_match_threshold + ) if fuzz_result is None: return None - choice, score, _ = fuzz_result - if score < fuzzy_match_threshold: - return None - else: - return store_map[choice] + return store_map[fuzz_result[0]] def find_food_match(self, food: IngredientFood | CreateIngredientFood) -> IngredientFood | None: if isinstance(food, IngredientFood):