diff --git a/app.py b/app.py index aebdc34..59a4333 100644 --- a/app.py +++ b/app.py @@ -81,17 +81,21 @@ def quiz(playlist_id): played_tracks = session.get(f'played_tracks_{playlist_id}', []) score = session.get(f'score_{playlist_id}', 0) + # Wenn alle Songs gespielt wurden, played_tracks zurücksetzen, Score bleibt! available_tracks = [t for t in tracks if t["id"] not in played_tracks] if not available_tracks: played_tracks = [] available_tracks = tracks - score = 0 # Score zurücksetzen, wenn alle gespielt + # Score NICHT zurücksetzen! track = random.choice(available_tracks) played_tracks.append(track["id"]) session[f'played_tracks_{playlist_id}'] = played_tracks session[f'score_{playlist_id}'] = score + # Für die Anzeige der beantworteten Fragen + answered = len(played_tracks) - 1 if len(played_tracks) > 0 else 0 + token_info = session.get('token_info', None) if not token_info: return redirect('/login') @@ -117,7 +121,8 @@ def quiz(playlist_id): all_tracks=all_tracks, question_number=len(played_tracks), total_questions=len(tracks), - score=score + score=score, + answered=answered ) @app.route("/search_track", methods=["POST"]) diff --git a/templates/quiz.html b/templates/quiz.html index bd57113..c6d6198 100644 --- a/templates/quiz.html +++ b/templates/quiz.html @@ -291,8 +291,7 @@
- {% set answered = question_number - 1 if question_number > 0 else 0 %} - Frage {{ answered + 1 }} von {{ total_questions }} + Songs in Playlist: {{ total_questions }} Richtige: {{ score }} / {{ answered if answered > 0 else 1 }} ({{ ((score / (answered if answered > 0 else 1)) * 100) | round(0) if answered > 0 else 0 }}%)