modified: app.py

This commit is contained in:
Simon
2025-05-17 08:40:20 +02:00
parent 949ab32ba2
commit e9a80fe019

24
app.py
View File

@@ -68,12 +68,25 @@ def quiz(playlist_id):
sp = get_spotify_client() sp = get_spotify_client()
items = sp.playlist_items(playlist_id, additional_types=["track"])["items"] items = sp.playlist_items(playlist_id, additional_types=["track"])["items"]
tracks = [item["track"] for item in items if item.get("track")]
tracks = [item["track"] for item in items]
if not tracks: if not tracks:
return "Keine Tracks verfügbar!" return "Keine Tracks verfügbar!"
track = random.choice(tracks) # Gespielte Tracks aus der Session holen
played_tracks = session.get(f'played_tracks_{playlist_id}', [])
# Filtere bereits gespielte Tracks heraus
available_tracks = [t for t in tracks if t["id"] not in played_tracks]
# Wenn alle gespielt wurden, zurücksetzen
if not available_tracks:
played_tracks = []
available_tracks = tracks
track = random.choice(available_tracks)
played_tracks.append(track["id"])
session[f'played_tracks_{playlist_id}'] = played_tracks
# Token aus der Sitzung holen für das Web Playback SDK # Token aus der Sitzung holen für das Web Playback SDK
token_info = session.get('token_info', None) token_info = session.get('token_info', None)
@@ -175,10 +188,13 @@ def toggle_playback():
return {"error": "Missing device_id"}, 400 return {"error": "Missing device_id"}, 400
sp = get_spotify_client() sp = get_spotify_client()
# Aktuellen Playback-Status abrufen # Playback-Status für das richtige Gerät prüfen
current_playback = sp.current_playback() current_playback = sp.current_playback()
is_playing = False
if current_playback and current_playback.get('device', {}).get('id') == device_id:
is_playing = current_playback.get('is_playing', False)
if current_playback and current_playback.get('is_playing'): if is_playing:
sp.pause_playback(device_id=device_id) sp.pause_playback(device_id=device_id)
else: else:
sp.start_playback(device_id=device_id) sp.start_playback(device_id=device_id)