def retrieve_album(url, coverurl=None, id_field=ALBUM_ID): write_log('Opening Album Page - %s' % url) album_page, code = urlopen(url, False, True) if album_page.find("featured new releases") >= 0: raise OldURLError("Old AMG URL used.") album_page = get_encoding(album_page, True, 'utf8')[1] info, tracks = parse_albumpage(album_page) info['#albumurl'] = url info['amg_url'] = url if 'album' in info: info['#extrainfo'] = [ info['album'] + u' at AllMusic.com', info['#albumurl']] if coverurl: try: write_log('Retrieving Cover - %s' % info['#cover-url']) cover = retrieve_cover(info['#cover-url']) except KeyError: write_log('No cover found.') cover = None except urllib2.URLError, e: write_log(u'Error: While retrieving cover %s - %s' % (info['#cover-url'], unicode(e))) cover = None
def retrieve_album(url, coverurl=None, id_field=ALBUM_ID): write_log('Opening Album Page - %s' % url) album_page, code = urlopen(url, False, True) if album_page.find(b"featured new releases") >= 0: raise OldURLError("Old AMG URL used.") info, tracks = parse_albumpage(album_page) info['#albumurl'] = url info['amg_url'] = url if 'album' in info: info['#extrainfo'] = [ info['album'] + ' at AllMusic.com', info['#albumurl']] if coverurl: try: write_log('Retrieving Cover - %s' % info['#cover-url']) cover = retrieve_cover(info['#cover-url']) except KeyError: write_log('No cover found.') cover = None except urllib.error.URLError as e: write_log('Error: While retrieving cover %s - %s' % (info['#cover-url'], str(e))) cover = None else: cover = None return info, tracks, cover
def retrieve(self, info): if isinstance(info, str): text = info.replace(' ', self._separator) info = {} else: info = deepcopy(info) text = info['#url'] try: url = self.album_url % text except TypeError: url = self.album_url + text info['#url'] = url try: write_log(translate('Mp3tag', 'Retrieving album page: %s') % url) set_status(translate('Mp3tag', 'Retrieving album page...')) page = get_encoding(urlopen(url), True, 'utf8')[1] except: page = '' write_log(translate('Mp3tag', 'Parsing album page.')) set_status(translate('Mp3tag', 'Parsing album page...')) new_info, tracks = parse_album_page(page, self.album_source, url) info.update(dict((k, v) for k, v in new_info.items() if v)) if self._get_cover and COVER in info: cover_url = new_info[COVER] if isinstance(cover_url, str): info.update(retrieve_cover(cover_url)) else: info.update(list(map(retrieve_cover, cover_url))) if not tracks: tracks = None return info, tracks
def retrieve(self, info): if isinstance(info, basestring): text = info.replace(u' ', self._separator) info = {} else: info = deepcopy(info) text = info['#url'] try: url = self.album_url % text except TypeError: url = self.album_url + text info['#url'] = url try: write_log(translate('Mp3tag', u'Retrieving album page: %s') % url) set_status(translate('Mp3tag', u'Retrieving album page...')) page = get_encoding(urlopen(url), True, 'utf8')[1] except: page = u'' write_log(translate('Mp3tag', u'Parsing album page.')) set_status(translate('Mp3tag', u'Parsing album page...')) new_info, tracks = parse_album_page(page, self.album_source, url) info.update(dict((k,v) for k,v in new_info.iteritems() if v)) if self._get_cover and COVER in info: cover_url = new_info[COVER] if isinstance(cover_url, basestring): info.update(retrieve_cover(cover_url)) else: info.update(map(retrieve_cover, cover_url)) if not tracks: tracks = None return info, tracks