From 6d67858e8cbca6617bb803f7ce2d979f2b619bb7 Mon Sep 17 00:00:00 2001 From: Willie Zhu Date: Thu, 15 Dec 2016 16:21:05 -0500 Subject: [PATCH] Add audio analysis API --- spotipy/client.py | 8 ++++++++ tests/authtests2.py | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/spotipy/client.py b/spotipy/client.py index 0d32172..9d64ce6 100644 --- a/spotipy/client.py +++ b/spotipy/client.py @@ -711,6 +711,14 @@ class Spotify(object): ''' return self._get('recommendations/available-genre-seeds') + def audio_analysis(self, track_id): + ''' Get audio analysis for a track based upon its Spotify ID + Parameters: + - track_id - a track URI, URL or ID + ''' + trid = self._get_id('track', track_id) + return self._get('audio-analysis/' + trid) + def audio_features(self, tracks=[]): ''' Get audio features for multiple tracks based upon their Spotify IDs Parameters: diff --git a/tests/authtests2.py b/tests/authtests2.py index f0ebcd7..670e1c8 100644 --- a/tests/authtests2.py +++ b/tests/authtests2.py @@ -37,6 +37,10 @@ class AuthTestSpotipy(unittest.TestCase): bad_id = 'BAD_ID' + def test_audio_analysis(self): + result = spotify.audio_analysis(self.four_tracks[0]) + assert('beats' in result) + def test_audio_features(self): results = spotify.audio_features(self.four_tracks) self.assertTrue(len(results) == len(self.four_tracks))