def objectFromInternalObj(self, object_type, objs, nameOnly = False): if nameOnly: return ", ".join([obj.name for obj in objs]) try: uris = [SpotifyUtil.gid2uri(object_type, obj.gid) for obj in objs] except: uris = SpotifyUtil.gid2uri(object_type, objs.gid) return self.objectFromURI(uris, asArray = True)
def album_callback(sp, album): print album.name + " - " + album.artist[0].name + "\n" uris = [ SpotifyUtil.gid2uri("track", track.gid) for track in album.disc[0].track ] sp.metadata_request(uris, track_callback)
def removeTracks(self, tracks): tracks = [tracks] if type(tracks) != list else tracks uris = [] for track in tracks: if track.replaced: uris.append(SpotifyUtil.gid2uri("track", track.old_obj.gid)) else: uris.append(self.getURI()) self.spotify.api.playlist_remove_track(self.getURI(), uris) self.reload_refs()
def isAvailable(self): new_obj = self.spotify.api.recurse_alternatives(self.obj) if new_obj == False: return False else: # invalidate cache self._Cache__cache = {} if new_obj.HasField("name") == False: new_obj = self.spotify.api.metadata_request(SpotifyUtil.gid2uri("track", new_obj.gid)) self.old_obj = self.obj self.obj = new_obj self.replaced = True return True
def album_callback(sp, album): print album.name+" - "+album.artist[0].name+"\n" uris = [SpotifyUtil.gid2uri("track", track.gid) for track in album.disc[0].track] sp.metadata_request(uris, track_callback)
def getURI(self): return SpotifyUtil.gid2uri(self.uri_type, self.obj.gid)
print "\n" if action == "track": uri = sys.argv[4] if len(sys.argv) > 4 else "spotify:track:3IKSCoHEblCE60IKr4SVNd" track = sp.metadata_request(uri) print track.name elif action == "album": uri = sys.argv[4] if len(sys.argv) > 4 else "spotify:album:3OmHoatMS34vM7ZKb4WCY3" album = sp.metadata_request(uri) print album.name+" - "+album.artist[0].name+"\n" uris = [SpotifyUtil.gid2uri("track", track.gid) for track in album.disc[0].track] tracks = sp.metadata_request(uris) for track in tracks: print track.name elif action == "playlists": username = sys.argv[4] if len(sys.argv) > 4 else sp.username playlist_uris = [playlist.uri for playlist in sp.playlists_request(username).contents.items] playlists = [sp.playlist_request (playlist_uri) for playlist_uri in playlist_uris] for playlist in playlists: display_playlist(playlist) elif action == "playlist": uri = sys.argv[4] if len(sys.argv) > 4 else "spotify:user:topsify:playlist:1QM1qz09ZzsAPiXphF1l4S"
print "\n" if action == "track": uri = sys.argv[4] if len(sys.argv) > 4 else "spotify:track:3IKSCoHEblCE60IKr4SVNd" track = sp.metadata_request(uri) print track.name elif action == "album": uri = sys.argv[4] if len(sys.argv) > 4 else "spotify:album:3OmHoatMS34vM7ZKb4WCY3" album = sp.metadata_request(uri) print album.name+" - "+album.artist[0].name+"\n" uris = [SpotifyUtil.gid2uri("track", track.gid) for track in album.disc[0].track] tracks = sp.metadata_request(uris) for track in tracks: print track.name elif action == "playlists": username = sys.argv[4] if len(sys.argv) > 4 else sp.username playlist_uris = [playlist.uri for playlist in sp.playlists_request(username).contents.items] playlists = [sp.playlist_request(playlist_uri) for playlist_uri in playlist_uris] for playlist in playlists: display_playlist(playlist) elif action == "playlist": uri = sys.argv[4] if len(sys.argv) > 4 else "spotify:user:topsify:playlist:1QM1qz09ZzsAPiXphF1l4S"