improved oauth examples

This commit is contained in:
Paul Lamere
2014-05-23 07:19:16 -04:00
parent edbf23a20f
commit 539c9fb652
3 changed files with 20 additions and 39 deletions

View File

@@ -174,10 +174,10 @@ class Spotify(object):
'''
return self.get("users/%s/playlists" % user)
def user_playlist(self, user, playlist_id):
def user_playlist(self, user, playlist_id, fields=None):
''' Gets playlist of a user
'''
return self.get("users/%s/playlists/%s" % (user, playlist_id))
return self.get("users/%s/playlists/%s" % (user, playlist_id), fields=fields)
def me(self):
''' returns info about me

View File

@@ -63,7 +63,10 @@ class SpotifyOAuth(object):
return "%s?%s" % (self.OAUTH_AUTHORIZE_URL, urlparams)
def parse_response_code(self, response):
return response.split("?code=")[1].split("&")[0]
try:
return response.split("?code=")[1].split("&")[0]
except IndexError:
return None
def get_access_token(self, code):
payload = {'redirect_uri': self.redirect_uri,
@@ -97,7 +100,8 @@ class SpotifyOAuth(object):
raise SpotifyOauthError(response.reason)
token_info = response.json()
token_info['expires_at'] = int(time.time()) + token_info['expires_in']
token_info['refresh_token'] = refresh_token
if not 'refresh_token' in token_info:
token_info['refresh_token'] = refresh_token
self.save_token_info(token_info)
return token_info