Fix program crash when AudioFeatures is missing
Fixes #32. AudioFeatures object query is now wrapped in a try/except block to account for the scenario where the object doesn't exist.
This commit is contained in:
@@ -127,7 +127,7 @@ def save_audio_features(headers, track_id, track):
|
||||
|
||||
response = requests.get("https://api.spotify.com/v1/audio-features/{}".format(track_id), headers = headers).json()
|
||||
if 'error' in response:
|
||||
return {}
|
||||
return
|
||||
|
||||
# Data that we don't need
|
||||
useless_keys = [
|
||||
|
||||
@@ -203,8 +203,11 @@ def get_audio_feature_data(request, audio_feature, client_secret):
|
||||
'data_points': [],
|
||||
}
|
||||
for track in user_tracks:
|
||||
audio_feature_obj = AudioFeatures.objects.get(track=track)
|
||||
response_payload['data_points'].append(getattr(audio_feature_obj, audio_feature))
|
||||
try:
|
||||
audio_feature_obj = AudioFeatures.objects.get(track=track)
|
||||
response_payload['data_points'].append(getattr(audio_feature_obj, audio_feature))
|
||||
except AudioFeatures.DoesNotExist:
|
||||
continue
|
||||
return JsonResponse(response_payload)
|
||||
|
||||
# }}} get_audio_feature_data #
|
||||
|
||||
Reference in New Issue
Block a user