modified: app.py
This commit is contained in:
15
app.py
15
app.py
@@ -10,6 +10,7 @@ import random
|
|||||||
from difflib import SequenceMatcher
|
from difflib import SequenceMatcher
|
||||||
import re
|
import re
|
||||||
import json
|
import json
|
||||||
|
import unicodedata
|
||||||
|
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
app.secret_key = os.getenv("SECRET_KEY")
|
app.secret_key = os.getenv("SECRET_KEY")
|
||||||
@@ -53,13 +54,20 @@ def similarity(a, b):
|
|||||||
return SequenceMatcher(None, a.lower(), b.lower()).ratio()
|
return SequenceMatcher(None, a.lower(), b.lower()).ratio()
|
||||||
|
|
||||||
def clean_title(title):
|
def clean_title(title):
|
||||||
|
# Unicode-Normalisierung (z.B. é -> e)
|
||||||
|
title = unicodedata.normalize('NFKD', title)
|
||||||
|
title = "".join([c for c in title if not unicodedata.combining(c)])
|
||||||
# Entfernt alles in () oder []
|
# Entfernt alles in () oder []
|
||||||
title = re.sub(r"(\s*[\(\[][^)\]]*[\)\]])", "", title)
|
title = re.sub(r"(\s*[\(\[][^)\]]*[\)\]])", "", title)
|
||||||
# Vereinheitliche Apostrophen und Anführungszeichen
|
# Vereinheitliche Apostrophen und Anführungszeichen
|
||||||
title = title.replace("’", "'").replace("‘", "'").replace("`", "'")
|
title = title.replace("’", "'").replace("‘", "'").replace("`", "'")
|
||||||
title = title.replace('"', '').replace("„", '').replace("“", '').replace("”", '')
|
title = title.replace('"', '').replace("„", '').replace("“", '').replace("”", '')
|
||||||
title = title.replace("'", "") # Optional: alle Apostrophen entfernen
|
title = title.replace("'", "")
|
||||||
return title.strip()
|
# Entferne alle nicht-alphanumerischen Zeichen (außer Leerzeichen)
|
||||||
|
title = re.sub(r"[^a-zA-Z0-9äöüÄÖÜß ]", "", title)
|
||||||
|
# Mehrfache Leerzeichen zu einem
|
||||||
|
title = re.sub(r"\s+", " ", title)
|
||||||
|
return title.strip().lower()
|
||||||
|
|
||||||
def get_all_playlist_tracks(sp, playlist_id):
|
def get_all_playlist_tracks(sp, playlist_id):
|
||||||
tracks = []
|
tracks = []
|
||||||
@@ -215,7 +223,8 @@ def check_answer():
|
|||||||
game_mode = data.get('game_mode', 'artist')
|
game_mode = data.get('game_mode', 'artist')
|
||||||
playlist_id = data.get('playlist_id')
|
playlist_id = data.get('playlist_id')
|
||||||
|
|
||||||
if game_mode == 'title':
|
# Immer clean_title für title und artist
|
||||||
|
if game_mode in ['title', 'artist']:
|
||||||
guess = clean_title(guess)
|
guess = clean_title(guess)
|
||||||
correct_answer = clean_title(correct_answer)
|
correct_answer = clean_title(correct_answer)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user