Esempio n. 1
0
 def __cache_artists_info(self):
     """
         Cache info for all artists
     """
     # We create cache if needed
     InfoCache.init()
     # Then cache for lastfm/wikipedia/spotify/deezer/...
     for (artist_id, artist) in Lp().artists.get([]):
         if not get_network_available() or\
                 InfoCache.exists(artist):
             continue
         artwork_set = False
         for (api, helper, unused) in InfoCache.WEBSERVICES:
             debug("Downloader::__cache_artists_info(): %s@%s" %
                   (artist, api))
             if helper is None:
                 continue
             try:
                 method = getattr(self, helper)
                 (url, content) = method(artist)
                 if url is not None:
                     s = Lio.File.new_for_uri(url)
                     (status, data, tag) = s.load_contents()
                     if status:
                         artwork_set = True
                         InfoCache.add(artist, content, data, api)
                         debug("Downloader::__cache_artists_info(): %s" %
                               url)
                     else:
                         InfoCache.add(artist, None, None, api)
             except Exception as e:
                 print("Downloader::__cache_artists_info():", e, artist)
                 InfoCache.add(artist, None, None, api)
         if artwork_set:
             GLib.idle_add(Lp().art.emit, 'artist-artwork-changed', artist)
     self.__cache_artists_running = False
Esempio n. 2
0
 def __cache_artists_info(self):
     """
         Cache info for all artists
     """
     # We create cache if needed
     InfoCache.init()
     # Then cache for lastfm/wikipedia/spotify/deezer/...
     for (artist_id, artist, sort) in Lp().artists.get([]):
         if not get_network_available() or\
                 InfoCache.exists(artist):
             continue
         artwork_set = False
         for (api, helper, unused) in InfoCache.WEBSERVICES:
             debug("Downloader::__cache_artists_info(): %s@%s" % (artist,
                                                                  api))
             if helper is None:
                 continue
             try:
                 method = getattr(self, helper)
                 (url, content) = method(artist)
                 if url is not None:
                     s = Lio.File.new_for_uri(url)
                     (status, data, tag) = s.load_contents()
                     if status:
                         artwork_set = True
                         InfoCache.add(artist, content, data, api)
                         debug("Downloader::__cache_artists_info(): %s"
                               % url)
                     else:
                         InfoCache.add(artist, None, None, api)
             except Exception as e:
                 print("Downloader::__cache_artists_info():", e, artist)
                 InfoCache.add(artist, None, None, api)
         if artwork_set:
             GLib.idle_add(Lp().art.emit, 'artist-artwork-changed', artist)
     self.__cache_artists_running = False