def loadArtistList(mainwindow): """ Refresh artists listing """ # fetch artists, @TODO: has ifModifiedSince for caching serverinfo = settings.getServerInfo() print(serverinfo) hasCache = cache.haveCachedArtists(serverinfo) if False == hasCache: mainwindow.onRefreshbuttonClicked(mainwindow) #artists = mainwindow.getArtistsFromServer(serverinfo) #cache.saveArtists(serverinfo, artists) else: print("get from cache") artists = cache.getArtists(serverinfo) mainwindow.artistliststore.clear() previousLetter = '' mainwindow.artistliststore.append([-1, 'All artists']) for artist in artists: #print(artist) thisLetter = artist['indexLetter'] #print(thisLetter) if thisLetter != previousLetter: #print(thisLetter) previousLetter = thisLetter mainwindow.artistliststore.append([artist['id'], artist['name']])
def run(self): if True == self.mainwindow.refreshing: # Already refreshing print("Already refreshing from server, ignore") return print("Refreshing...") #self.mainwindow.progressbar.pulse() self.mainwindow.refreshing = True serverinfo = settings.getServerInfo() cache.clearArtists(serverinfo) cache.saveArtists(serverinfo, self.getArtistsFromServer(serverinfo)) # refresh artist list in window self.mainwindow.loadArtistList() artists = cache.getArtists(serverinfo) print("also storing albums:") cache.clearAlbums(serverinfo) result = self.cacheAllAlbumsFromServer(serverinfo, artists) self.mainwindow.refreshing = False