--- a
+++ b/src/mediaserver/cdplugins/spotify/spotipyauth.py
@@ -0,0 +1,101 @@
+#!/usr/bin/env python3
+
+import spotipy
+import sys
+import json
+
+# client id ? L_3DUkVpQRS0PW8uiGz8Yg
+# shows a user's playlists (need to be authenticated via oauth)
+
+import sys
+import spotipy
+import spotipy.util as util
+from spotipy.oauth2 import SpotifyClientCredentials
+
+def show_tracks(tracks):
+ for i, item in enumerate(tracks['items']):
+ track = item['track']
+ print(" %d %32.32s %s" % (i, track['artists'][0]['name'],
+ track['name']))
+
+
+if __name__ == '__main__':
+ if len(sys.argv) > 1:
+ username = sys.argv[1]
+ else:
+ print("Whoops, need your username!")
+ print("usage: python user_playlists.py [username]")
+ sys.exit()
+
+ token = util.prompt_for_user_token(username)
+
+ if token:
+ sp = spotipy.Spotify(auth=token)
+ data = sp.user(username)
+ print("%s"% json.dumps(data,indent=True))
+ sys.exit(0)
+ data = sp.album("2o9McLtDM7mbODV7yZF2mc")
+ print("%s"% json.dumps(data,indent=True))
+ data = sp.album_tracks("2o9McLtDM7mbODV7yZF2mc")
+ print("%s"% json.dumps(data,indent=True))
+ sys.exit(0)
+ playlists = sp.user_playlists(username)
+ for playlist in playlists['items']:
+ if playlist['owner']['id'] == username:
+ print("\n%s"%playlist['name'])
+ print(' total tracks %d' % playlist['tracks']['total'])
+ results = sp.user_playlist(username, playlist['id'],
+ fields="tracks,next")
+ tracks = results['tracks']
+ show_tracks(tracks)
+ while tracks['next']:
+ tracks = sp.next(tracks)
+ show_tracks(tracks)
+ else:
+ print("Can't get token for %s"% username)
+
+
+name = "moby"
+offs = 0
+lim = 20
+while True:
+ results = sp.search(q='artist:' + name, type='artist',limit=lim,offset=offs)
+
+ print("%s"% json.dumps(results,indent=True))
+ if len(results) != lim:
+ break
+ offs += len(results)
+
+#lz_uri = 'spotify:artist:36QJpDe2go2KgaRleHCDTp'
+#lz_uri = 'spotify:artist:2dJ1JCmbWQvxTCm1X7SqEq'
+#lz_uri = 'spotify:artist:33lBD3LO109JfRCYElo5CZ'
+lz_uri = 'spotify:artist:3OsRAKCvk37zwYcnzRf5XF'
+
+results = sp.artist_top_tracks(lz_uri)
+
+for track in results['tracks'][:10]:
+ print('track : %s'%track['name'])
+ print('audio : %s'%track['preview_url'])
+ print('cover art: %s\n' % track['album']['images'][0]['url'])
+
+
+
+sys.exit(0)
+
+
+
+client_credentials_manager = SpotifyClientCredentials()
+sp = spotipy.Spotify(client_credentials_manager=client_credentials_manager)
+
+playlists = sp.user_playlists('spotify')
+while playlists:
+ for i, playlist in enumerate(playlists['items']):
+ print("%4d %s %s" % (i + 1 + playlists['offset'], playlist['uri'], playlist['name']))
+ if playlists['next']:
+ playlists = sp.next(playlists)
+ else:
+ playlists = None
+
+sys.exit(0)
+
+