diff --git a/src/common/humanizer.py b/src/common/humanizer.py index 5b987f9..e018014 100644 --- a/src/common/humanizer.py +++ b/src/common/humanizer.py @@ -81,7 +81,9 @@ def song_title_match(guess: str, answer: str) -> bool: "sped up", ] - alphanumeric = " ".join(alphanumeric_rx.split(answer)).strip() + alphanumeric_matches = alphanumeric_rx.split(answer) + alphanumeric = alphanumeric_matches[0] + alphanumeric_full = " ".join(alphanumeric_matches).strip() answer_length = min(len(alphanumeric.split(" ")), len(answer.split(" "))) minimum_words_required = 2 if answer_length > 2 else 1 guess_length = max(len(guess.split(" ")), minimum_words_required) @@ -96,7 +98,7 @@ def song_title_match(guess: str, answer: str) -> bool: partial_words_end_alphanumeric = " ".join(alphanumeric.split(" ")[-guess_length:]) return ( fuzzy_string_match(guess, answer) - or fuzzy_string_match(guess, alphanumeric) + or fuzzy_string_match(guess, alphanumeric_full) or fuzzy_string_match(guess, partial_words_start) or fuzzy_string_match(guess, partial_words_end) or fuzzy_string_match(guess, partial_words_start_alphanumeric)