Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,51 +1,4 @@
|
|
| 1 |
-
|
| 2 |
-
"""Get all tracks from an album URL."""
|
| 3 |
-
album_id = extract_id_from_url(album_url, "album")
|
| 4 |
-
print(f"Extracted album ID: {album_id}")
|
| 5 |
-
|
| 6 |
-
headers = {'Authorization': f'Bearer {token}'}
|
| 7 |
-
tracks_url = f'https://api.spotify.com/v1/albums/{album_id}/tracks'
|
| 8 |
-
|
| 9 |
-
all_tracks = []
|
| 10 |
-
next_url = tracks_url
|
| 11 |
-
|
| 12 |
-
while next_url:
|
| 13 |
-
print(f"Fetching tracks from: {next_url}")
|
| 14 |
-
response = make_request_with_retry(next_url, headers)
|
| 15 |
-
if not response:
|
| 16 |
-
break
|
| 17 |
-
|
| 18 |
-
data = response.json()
|
| 19 |
-
items = data.get('items', [])
|
| 20 |
-
|
| 21 |
-
# Get album details for additional info
|
| 22 |
-
album_info = None
|
| 23 |
-
if len(all_tracks) == 0: # Only need to get album info once
|
| 24 |
-
album_response = make_request_with_retry(f'https://api.spotify.com/v1/albums/{album_id}', headers)
|
| 25 |
-
if album_response:
|
| 26 |
-
album_info = album_response.json()
|
| 27 |
-
|
| 28 |
-
for item in items:
|
| 29 |
-
if item:
|
| 30 |
-
# For album tracks, we need to add some missing information that's in the album
|
| 31 |
-
if album_info:
|
| 32 |
-
item['album'] = {
|
| 33 |
-
'name': album_info.get('name', 'Unknown'),
|
| 34 |
-
'release_date': album_info.get('release_date', 'Not available'),
|
| 35 |
-
'id': album_id
|
| 36 |
-
}
|
| 37 |
-
|
| 38 |
-
all_tracks.append(item)
|
| 39 |
-
|
| 40 |
-
next_url = data.get('next')
|
| 41 |
-
|
| 42 |
-
print(f"Found {len(all_tracks)} tracks in album")
|
| 43 |
-
|
| 44 |
-
# Mark the source
|
| 45 |
-
for track in all_tracks:
|
| 46 |
-
track['playlist_source'] = album_url
|
| 47 |
-
|
| 48 |
-
return all_tracksimport gradio as gr
|
| 49 |
import requests
|
| 50 |
import pandas as pd
|
| 51 |
import time
|
|
|
|
| 1 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
import requests
|
| 3 |
import pandas as pd
|
| 4 |
import time
|