From 8ec55e85b5366112b6896f54c7229c967d1c2a89 Mon Sep 17 00:00:00 2001 From: Simon Date: Sat, 17 May 2025 13:53:45 +0200 Subject: [PATCH] modified: app.py --- app.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/app.py b/app.py index 59a4333..7c31a29 100644 --- a/app.py +++ b/app.py @@ -32,6 +32,21 @@ def clean_title(title): # Entfernt alles in () oder [] return re.sub(r"(\s*[\(\[][^)\]]*[\)\]])", "", title).strip() +def get_all_playlist_tracks(sp, playlist_id): + tracks = [] + offset = 0 + limit = 100 + while True: + response = sp.playlist_items(playlist_id, additional_types=["track"], limit=limit, offset=offset) + items = response["items"] + if not items: + break + tracks.extend([item["track"] for item in items if item.get("track")]) + if len(items) < limit: + break + offset += limit + return tracks + @app.route("/") def home(): return render_template("login.html") @@ -72,8 +87,7 @@ def quiz(playlist_id): game_mode = request.args.get('mode', 'artist') sp = get_spotify_client() - items = sp.playlist_items(playlist_id, additional_types=["track"])["items"] - tracks = [item["track"] for item in items if item.get("track")] + tracks = get_all_playlist_tracks(sp, playlist_id) if not tracks: return "Keine Tracks verfügbar!"