class Playlist(): def __init__(self, name, desc='', public=False): self.name = name self.desc = desc self.public = public self.spotify = SpotifyUtils() self.playlistId = self.getId() def getId(self): names = self.spotify.getPlaylistNames() if self.name in names: playlistId = self.spotify.getPlaylistIdFromName(self.name) print(f"got playlist id for {self.name}") else: playlistId = self.create() print(f"created playlist id for {self.name}") return playlistId def create(self): playlistId = self.spotify.createPlaylist(self.name, self.desc, self.public) return playlistId def missingUris(self, newUris, playlistUris): missingUris = [] for newUri in newUris: if newUri not in playlistUris: missingUris.append(newUri) return missingUris
def metadata_request(self, uris): mercury_requests = mercury_pb2.MercuryMultiGetRequest() if type(uris) != list: uris = [uris] for uri in uris: uri_type = SpotifyUtils.get_uri_type(uri) uri_id = SpotifyUtils.uri2id(uri) mercury_request = mercury_pb2.MercuryRequest() mercury_request.body = 'GET' mercury_request.uri = 'hm://metadata/%s/%s' % (uri_type, uri_id) mercury_requests.request.extend([mercury_request]) args = self.generate_multiget_args(SpotifyUtils.get_uri_type(uris[0]), mercury_requests) self.send_command('sp/hm_b64', args, self.metadata_response)
def my_callback(sp, login_data): #sp.metadata_request('spotify:track:3oHTgUVzVmSrtN2crDANHk') args = ["mp3160", SpotifyUtils.uri2id('spotify:track:5NTu6K3dvyDyQnjVelWIjW')] sp.send_command("sp/track_uri", args, second_callback)
def __init__(self, name, desc='', public=False): self.name = name self.desc = desc self.public = public self.spotify = SpotifyUtils() self.playlistId = self.getId()