modified: app.py
This commit is contained in:
29
app.py
29
app.py
@@ -55,11 +55,13 @@ def similarity(a, b):
|
||||
def clean_title(title):
|
||||
# Entfernt alles in () oder []
|
||||
title = re.sub(r"(\s*[\(\[][^)\]]*[\)\]])", "", title)
|
||||
# Entferne alle Arten von Apostrophen, Backticks und Anführungszeichen
|
||||
title = title.replace("'", "").replace("'", "").replace("'", "").replace("`", "")
|
||||
title = title.replace('"', '').replace("„", '').replace(""", '').replace(""", '').replace("´", "")
|
||||
# Entferne weitere problematische Sonderzeichen
|
||||
title = title.replace("–", "-").replace("—", "-").replace("…", "...")
|
||||
# Entferne alle Arten von Apostrophen, Anführungszeichen und Backticks
|
||||
title = title.replace("'", "").replace("'", "").replace("'", "")
|
||||
title = title.replace("`", "").replace("´", "").replace("ʼ", "")
|
||||
title = title.replace('"', "").replace("„", "").replace(""", "").replace(""", "")
|
||||
title = title.replace("'", "")
|
||||
# Entferne weitere Sonderzeichen die Probleme machen könnten
|
||||
title = re.sub(r"[^\w\s\-&]", "", title, flags=re.UNICODE)
|
||||
return title.strip()
|
||||
|
||||
def get_all_playlist_tracks(sp, playlist_id):
|
||||
@@ -222,8 +224,9 @@ def search_track():
|
||||
for track in all_tracks:
|
||||
cleaned_name = clean_title(track["name"])
|
||||
cleaned_query = clean_title(query)
|
||||
cleaned_artist = clean_title(track["artist"])
|
||||
name_similarity = similarity(cleaned_query, cleaned_name)
|
||||
artist_similarity = similarity(query, track["artist"])
|
||||
artist_similarity = similarity(cleaned_query, cleaned_artist)
|
||||
|
||||
# Wenn Name oder Künstler zu 80% übereinstimmt
|
||||
if name_similarity >= 0.8 or artist_similarity >= 0.8:
|
||||
@@ -243,19 +246,15 @@ def search_track():
|
||||
@app.route("/check_answer", methods=["POST"])
|
||||
def check_answer():
|
||||
data = request.json
|
||||
guess = data.get('guess', '')
|
||||
correct_answer = data.get('correct_answer', '')
|
||||
guess = data.get('guess', '').lower()
|
||||
correct_answer = data.get('correct_answer', '').lower()
|
||||
game_mode = data.get('game_mode', 'artist')
|
||||
playlist_id = data.get('playlist_id')
|
||||
|
||||
# Bereinige BEIDE Strings vor dem Vergleich (für title UND artist)
|
||||
# Bei Titel und Künstler: Sonderzeichen entfernen für besseren Vergleich
|
||||
if game_mode == 'title' or game_mode == 'artist':
|
||||
guess = clean_title(guess).lower()
|
||||
correct_answer = clean_title(correct_answer).lower()
|
||||
else:
|
||||
# Jahr-Modus: nur lowercase
|
||||
guess = guess.lower()
|
||||
correct_answer = correct_answer.lower()
|
||||
guess = clean_title(guess)
|
||||
correct_answer = clean_title(correct_answer)
|
||||
|
||||
if game_mode == 'year':
|
||||
is_correct = guess == correct_answer
|
||||
|
||||
Reference in New Issue
Block a user