23 lines
1.1 KiB
Python
23 lines
1.1 KiB
Python
import spotipy
|
|
|
|
def initsp(client_id, client_secret):
|
|
client_credentials_manager = spotipy.oauth2.SpotifyClientCredentials(client_id=client_id, client_secret=client_secret)
|
|
return spotipy.Spotify(client_credentials_manager=client_credentials_manager)
|
|
|
|
def getspotifyplitems(spobj, pl_id):
|
|
plname = spobj.playlist(playlist_id=pl_id, fields='name')['name']
|
|
result = []
|
|
fields = 'items(track(name,album(name),artists(name),duration_ms)),next'
|
|
queryresult = spobj.playlist_tracks(playlist_id=pl_id, fields=fields)
|
|
tracks = queryresult['items']
|
|
i = 0
|
|
while (queryresult['next'] != None):
|
|
i += 1
|
|
queryresult = spobj.playlist_tracks(playlist_id=pl_id, fields=fields, offset=i*100)
|
|
tracks.extend(queryresult['items'])
|
|
for item in tracks:
|
|
artists = []
|
|
for artist in item['track']['artists']:
|
|
artists.append(artist['name'])
|
|
result.append({'name': item['track']['name'], 'artists': artists, 'album': item['track']['album']['name'], 'duration_ms': item['track']['duration_ms']})
|
|
return plname, result |