def fetch_artist_data(self, artist):
        """
        Initiate the fetching of all artist data. Fetches artist info, similar
        artists, artist top albums and top tracks. Downloads XML files from last.fm
        and saves as parsed DOM documents in self.artist dictionary. Must be called
        before any of the get_* methods.
        """
        self.current_artist = artist
        if LastFM.user_has_account() is False:
            self.error = LASTFM_NO_ACCOUNT_ERROR
            self.emit('artist-info-ready')
            return

        self.error = None
        artist = urllib.parse.quote_plus(artist)
        self.fetched = 0
        for key, value in self.artist.items():
            print("search")
            cachekey = "lastfm:artist:%sjson:%s:%s" % (value['function'],
                                                       artist, value['lang'])
            url = '%s?method=artist.%s&artist=%s&limit=10&api_key=%s&format=json&lang=%s' % (
                LastFM.API_URL, value['function'], artist, LastFM.API_KEY,
                value['lang'])
            print("fetching %s" % url)
            value['cache'].fetch(cachekey, url, self.fetch_artist_data_cb,
                                 value)
    def fetch_artist_data(self, artist):
        """
        Initiate the fetching of all artist data. Fetches artist info, similar
        artists, artist top albums and top tracks. Downloads XML files from last.fm
        and saves as parsed DOM documents in self.artist dictionary. Must be called
        before any of the get_* methods.
        """
        self.current_artist = artist
        if LastFM.user_has_account() is False:
            self.error = LASTFM_NO_ACCOUNT_ERROR
            self.emit("artist-info-ready")
            return

        self.error = None
        artist = urllib.parse.quote_plus(artist)
        self.fetched = 0
        for key, value in self.artist.items():
            print("search")
            cachekey = "lastfm:artist:%sjson:%s:%s" % (value["function"], artist, value["lang"])
            url = "%s?method=artist.%s&artist=%s&limit=10&api_key=%s&format=json&lang=%s" % (
                LastFM.API_URL,
                value["function"],
                artist,
                LastFM.API_KEY,
                value["lang"],
            )
            print("fetching %s" % url)
            value["cache"].fetch(cachekey, url, self.fetch_artist_data_cb, value)
Ejemplo n.º 3
0
    def fetch_album_list (self, artist):
        if LastFM.user_has_account() is False:
            self.error = LASTFM_NO_ACCOUNT_ERROR
            self.emit ('albums-ready')
            return

        self.artist = artist
        qartist = urllib.parse.quote_plus(artist)
        self.error  = None
        url = "%s?method=artist.gettopalbums&artist=%s&api_key=%s&format=json" % (
        LastFM.API_URL, qartist, LastFM.API_KEY)
        print (url)
        cachekey = 'lastfm:artist:gettopalbumsjson:%s' % qartist
        self.ranking_cache.fetch(cachekey, url, self.parse_album_list, artist)
Ejemplo n.º 4
0
    def fetch_album_list(self, artist):
        if LastFM.user_has_account() is False:
            self.error = LASTFM_NO_ACCOUNT_ERROR
            self.emit('albums-ready')
            return

        self.artist = artist
        qartist = urllib.parse.quote_plus(artist)
        self.error = None
        url = "%s?method=artist.gettopalbums&artist=%s&api_key=%s&format=json" % (
            LastFM.API_URL, qartist, LastFM.API_KEY)
        print(url)
        cachekey = 'lastfm:artist:gettopalbumsjson:%s' % qartist
        self.ranking_cache.fetch(cachekey, url, self.parse_album_list, artist)
    def fetch_album_list(self, artist):
        if LastFM.user_has_account() is False:
            self.error = LASTFM_NO_ACCOUNT_ERROR
            self.emit("albums-ready")
            return

        cl = CoverLocale()
        lang = cl.get_locale()[:2]

        self.artist = artist
        qartist = urllib.parse.quote_plus(artist)
        self.error = None
        url = "%s?method=artist.gettopalbums&artist=%s&api_key=%s&format=json&lang=%s" % (
            LastFM.API_URL,
            qartist,
            LastFM.API_KEY,
            lang,
        )
        print(url)
        cachekey = "lastfm:artist:gettopalbumsjson:%s" % qartist
        self.ranking_cache.fetch(cachekey, url, self.parse_album_list, artist)