mirror of
https://github.com/c0de-archive/spotipy.git
synced 2024-11-05 07:27:47 +00:00
Added support for 'Your Music' tracks
This commit is contained in:
parent
58123eda31
commit
2d98c30d01
27
examples/show_my_saved_tracks.py
Normal file
27
examples/show_my_saved_tracks.py
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
|
||||||
|
# Adds tracks to a playlist
|
||||||
|
|
||||||
|
import pprint
|
||||||
|
import sys
|
||||||
|
|
||||||
|
import spotipy
|
||||||
|
import spotipy.oauth2 as oauth2
|
||||||
|
import util
|
||||||
|
|
||||||
|
scope = 'user-library-read'
|
||||||
|
|
||||||
|
if len(sys.argv) > 1:
|
||||||
|
username = sys.argv[1]
|
||||||
|
else:
|
||||||
|
print "Usage: %s username" % (sys.argv[0],)
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
|
token = util.prompt_for_user_token(username, scope)
|
||||||
|
|
||||||
|
if token:
|
||||||
|
sp = spotipy.Spotify(auth=token)
|
||||||
|
sp.trace = False
|
||||||
|
results = sp.current_user_saved_tracks()
|
||||||
|
pprint.pprint(results)
|
||||||
|
else:
|
||||||
|
print "Can't get token for", username
|
2
setup.py
2
setup.py
@ -3,7 +3,7 @@ from setuptools import setup
|
|||||||
|
|
||||||
setup(
|
setup(
|
||||||
name='SpotipyWebApi',
|
name='SpotipyWebApi',
|
||||||
version='1.45',
|
version='1.46',
|
||||||
description='simple client for the Spotify Web API',
|
description='simple client for the Spotify Web API',
|
||||||
author="@plamere",
|
author="@plamere",
|
||||||
author_email="paul@echonest.com",
|
author_email="paul@echonest.com",
|
||||||
|
@ -78,6 +78,16 @@ class Spotify(object):
|
|||||||
kwargs.update(args)
|
kwargs.update(args)
|
||||||
return self._internal_call('GET', method, kwargs)
|
return self._internal_call('GET', method, kwargs)
|
||||||
|
|
||||||
|
def delete(self, method, args=None, **kwargs):
|
||||||
|
if args:
|
||||||
|
kwargs.update(args)
|
||||||
|
return self._internal_call('DELETE', method, kwargs)
|
||||||
|
|
||||||
|
def put(self, method, args=None, **kwargs):
|
||||||
|
if args:
|
||||||
|
kwargs.update(args)
|
||||||
|
return self._internal_call('PUT', method, kwargs)
|
||||||
|
|
||||||
def post(self, method, payload=None, **kwargs):
|
def post(self, method, payload=None, **kwargs):
|
||||||
args = dict(params=kwargs)
|
args = dict(params=kwargs)
|
||||||
if not method.startswith('http'):
|
if not method.startswith('http'):
|
||||||
@ -230,10 +240,35 @@ class Spotify(object):
|
|||||||
payload = tracks, position=position)
|
payload = tracks, position=position)
|
||||||
|
|
||||||
def me(self):
|
def me(self):
|
||||||
''' returns info about me
|
''' Get detailed profile information about the current user.
|
||||||
'''
|
'''
|
||||||
return self.get('me/')
|
return self.get('me/')
|
||||||
|
|
||||||
|
def current_user(self):
|
||||||
|
''' Get detailed profile information about the current user.
|
||||||
|
'''
|
||||||
|
return self.me()
|
||||||
|
|
||||||
|
def current_user_saved_tracks(self, limit=20, offset=0):
|
||||||
|
''' Gets a list of the tracks saved in the current authorized user's
|
||||||
|
"Your Music" library
|
||||||
|
'''
|
||||||
|
return self.get('me/tracks', limit=limit, offset=offset)
|
||||||
|
|
||||||
|
def current_user_saved_tracks_delete(self, ids=[]):
|
||||||
|
''' Remove one or more tracks from the current user’s
|
||||||
|
“Your Music” library.
|
||||||
|
'''
|
||||||
|
tlist = [self._get_id('track', t) for t in ids]
|
||||||
|
return self.delete('me/tracks/?ids=' + ','.join(tlist))
|
||||||
|
|
||||||
|
def current_user_saved_tracks_add(self, ids=[]):
|
||||||
|
''' Add one or more tracks to the current user’s
|
||||||
|
“Your Music” library.
|
||||||
|
'''
|
||||||
|
tlist = [self._get_id('track', t) for t in ids]
|
||||||
|
return self.put('me/tracks/?ids=' + ','.join(tlist))
|
||||||
|
|
||||||
def _get_id(self, type, id):
|
def _get_id(self, type, id):
|
||||||
fields = id.split(':')
|
fields = id.split(':')
|
||||||
if len(fields) == 3:
|
if len(fields) == 3:
|
||||||
|
Loading…
Reference in New Issue
Block a user