def load_album_info(self, index, album): #Directly discard unavailable albums if not album.is_available(): self.__album_data[index] = { 'available_tracks': 0, 'type': self._get_album_type(album), } #Otherwise load it's data else: #A checker for a single condition? Overkill! checker = BulkConditionChecker() cb = AlbumCallbacks(checker) album_info = albumbrowse.Albumbrowse(self.__session, album, cb) #Now wait until it's loaded self._wait_for_album_info(album_info, checker) #Populate it's data self.__album_data[index] = { 'available_tracks': self._num_available_tracks(album_info), 'type': self._get_album_type(album), } #Tell that we've done self.__checker.check_conditions()
def load_album_info(self, index, album): # Directly discard unavailable albums if not album.is_available(): self.__album_data[index] = { 'available_tracks': 0, 'type': self._get_album_type(album), } # Otherwise load its data else: cb = AlbumCallbacks(current_task()) album_info = albumbrowse.Albumbrowse(self.__session, album, cb) # Now wait until it's loaded self._wait_for_album_info(album_info) # Populate its data self.__album_data[index] = { 'available_tracks': self._num_available_tracks(album_info), 'type': self._get_album_type(album), } # Tell that we're done self.check()
def get_album_info(self, index): album = self.__artistbrowse.album(index) checker = BulkConditionChecker() cb = AlbumCallbacks(checker) album_info = albumbrowse.Albumbrowse(self.__session, album, cb) #Wait until it's loaded self._wait_for_album_info(album_info, checker) return album_info
def _load_album(self, id): import time full_id = "spotify:album:%s" % id checker = BulkConditionChecker() #All the album loading stuff link_obj = link.create_from_string(full_id) album_obj = link_obj.as_album() #Now the albumbrowse object callbacks = AlbumbrowseLoadCallbacks(checker) albumbrowse_obj = albumbrowse.Albumbrowse(self._session, album_obj, callbacks) checker.add_condition(albumbrowse_obj.is_loaded) checker.complete_wait(10) return album_obj, albumbrowse_obj
def __init__(self, session, album): self.__list_rendered = False self.__update_lock = threading.Lock() cb = AlbumCallbacks() self.__albumbrowse = albumbrowse.Albumbrowse(session, album, cb)