modified: app.py
This commit is contained in:
24
app.py
24
app.py
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user