Skip to content

Instantly share code, notes, and snippets.

@64b2b6d12b
Created March 30, 2018 22:40
Show Gist options
  • Save 64b2b6d12b/3e7d792a0042755127cfe2eebafefaa5 to your computer and use it in GitHub Desktop.
Save 64b2b6d12b/3e7d792a0042755127cfe2eebafefaa5 to your computer and use it in GitHub Desktop.
Need to function this
#Get initial tracks for playlist and save to JSON file
tracks_file_count = 0
tracks_file_name = f'{str(tracks_file_count)}_tracks.json'
tracks_file = open(tracks_file_name,'w+')
tracks_response = requests.request('GET', f'{config.global_url}/users/{user}/playlists/{playlist_id}/tracks', headers=headers)
tracks_file.write(tracks_response.text)
tracks_file.close()
tracks_file = open(tracks_file_name,'r')
tracks = json.load(tracks_file)
#Save comma seperated track ID's to variable
id_dict = []
for i in tracks['items']:
track_id = i['track']['id']
id_dict.append(track_id)
id_comma = (','.join(id_dict))
#Get Audio Features
features_file_count = 0
features_file_name = f'{str(features_file_count)}_features.json'
features_file = open(features_file_name,'w+')
features_response = requests.request('GET', f'{config.global_url}/audio-features/?ids={id_comma}', headers=headers)
features_file.write(features_response.text)
features_file.close()
features_file = open(features_file_name,'r')
features = json.load(features_file)
track_writer(tracks, playlist_id)
feature_writer(features, playlist_id)
next_url = tracks['next']
while next_url != None:
tracks_file_count += 1
tracks_file_name = f'{str(tracks_file_count)}_tracks.json'
tracks_file = open(tracks_file_name,'w+')
tracks_response = requests.request('GET', next_url, headers=headers)
tracks_file.write(tracks_response.text)
tracks_file.close()
tracks_file = open(tracks_file_name,'r')
tracks = json.load(tracks_file)
#Save comma seperated track ID's to variable
id_dict = []
for i in tracks['items']:
track_id = i['track']['id']
id_dict.append(track_id)
id_comma = (','.join(id_dict))
#Get Audio Features
features_file_count += 1
features_file_name = f'{str(features_file_count)}_features.json'
features_file = open(features_file_name,'w+')
features_response = requests.request('GET', f'{config.global_url}/audio-features/?ids={id_comma}', headers=headers)
features_file.write(features_response.text)
features_file.close()
features_file = open(features_file_name,'r')
features = json.load(features_file)
track_writer(tracks, playlist_id)
feature_writer(features, playlist_id)
next_url = tracks['next']
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment