From 404f8b254d444045717550401e2c386a3c0027f0 Mon Sep 17 00:00:00 2001 From: Broque Thomas Date: Fri, 9 Jan 2026 11:26:13 -0800 Subject: [PATCH] Add diacritic-normalized artist name variations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Enhances artist name matching by including diacritic-normalized variations, allowing names like 'Subcarpaţi' to match 'Subcarpati' in SQL LIKE queries. This addresses issue #101 and improves search robustness. --- database/music_database.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/database/music_database.py b/database/music_database.py index 0de5ed40..52a5effa 100644 --- a/database/music_database.py +++ b/database/music_database.py @@ -1492,13 +1492,22 @@ class MusicDatabase: variations = [artist_name] name_lower = artist_name.lower() + # Add diacritic-normalized variation (fixes #101) + # This allows "Subcarpaţi" to match "Subcarpati" in SQL LIKE queries + normalized_name = self._normalize_for_comparison(artist_name) + # Only add if it's different from original (avoid duplicates) + if normalized_name != artist_name.lower(): + # Add with original casing style if possible + variations.append(normalized_name.title()) + variations.append(normalized_name) + # Add more aliases here in the future if "korn" in name_lower: if "KoЯn" not in variations: variations.append("KoЯn") if "Korn" not in variations: variations.append("Korn") - + # Return unique variations return list(set(variations))