Update lyrics.py

## Key Improvements (addressing reviewer feedback):
-  Uses regex instead of while loop (more efficient, one pass)
-  No infinite loop risk
-  Handles any number of backslashes before quotes
-  Clear inline comments
This commit is contained in:
Francesco Grillo 2025-12-23 22:43:28 +02:00 committed by GitHub
parent a79a86d5d6
commit 1d494135b5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -563,8 +563,8 @@ class Genius(SearchBackend):
html_text = cls.remove_backslash(m[0]).replace(r"\n", "\n")
lyrics = cls.get_soup(html_text).get_text().strip()
# Clean up any remaining escaped quotes (may need multiple passes)
while '\\"' in lyrics:
lyrics = lyrics.replace('\\"', '"')
# Use regex to handle all escape levels in one pass
lyrics = re.sub(r'\\+"', '"', lyrics)
return lyrics
return None