-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathprocess_spotify_data.py
42 lines (24 loc) · 975 Bytes
/
process_spotify_data.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
def get_saved_tracks() :
name = "My Favorites"
tracks = sp.current_user_saved_tracks()['items']
return name, tracks
def get_album_tracks(sp,album_id) :
album_name = sp.album(album_id)["name"]
album_tracks = sp.album_tracks(album_id)['items']
return album_name, album_tracks
def get_playlist_info(sp,playlist_id):
playlist = sp.playlist(playlist_id)
name = playlist['name']
tracks = playlist['tracks']['items']
while playlist['tracks']['next']:
playlist['tracks'] = sp.next(playlist['tracks'])
tracks.extend(playlist['tracks']['items'])
return name, tracks
def get_artist_tracks(sp,artist_id) :
artist_name = sp.artist(artist_id)["name"]
artist_tracks = sp.artist_top_tracks(artist_id,"FR")["tracks"]
return artist_name, artist_tracks
def format_track(track):
artist = track['artists'][0]['name']
track_name = track['name']
return f'{artist} – {track_name}'