def get_banners(self, nfo_path): """Get banner info from the nfo file""" dom = self.readNfo(nfo_path) root = dom.firstChildElement("tvshow") series_id = int(root.firstChildElement("id").text()) elem_fanart = root.firstChildElement("fanart") tvdb_banner_url = str(elem_fanart.attribute("url")) banners = [] elem_banner = root.firstChildElement("thumb") while not elem_banner.isNull(): banner = Banner() banner.set(elem_banner, series_id, tvdb_banner_url, 'nfo') if not banner in banners: banners.append(banner) elem_banner = elem_banner.nextSiblingElement("thumb") elem_fanart_banner = elem_fanart.firstChildElement("thumb") while not elem_fanart_banner.isNull(): banner = Banner() banner.set(elem_fanart_banner, series_id, tvdb_banner_url, 'nfo') if not banner in banners: banners.append(banner) elem_fanart_banner = elem_fanart_banner.nextSiblingElement("thumb") return banners
series_info_remote = urllib2.urlopen(series_info_url) self.logger.info("Grabbed url %s" % (series_info_url)) except urllib2.HTTPError, e: self.logger.error("Error grabbing url %s" % (series_info_url)) return None series_info_memory = cStringIO.StringIO(series_info_remote.read()) series_info_zip = zipfile.ZipFile(series_info_memory, 'r') #Parse it up and put the info into a list of Banner objects dom = QtXml.QDomDocument() dom.setContent(series_info_zip.read("banners.xml")) banner_info_list = [] banners = dom.firstChildElement("Banners") banner_node = banners.firstChildElement("Banner") while not banner_node.isNull(): banner = Banner() banner.set(banner_node, series_id, self.tvdb_banner_url, 'tvdb') banner_info_list.append(banner) banner_node = banner_node.nextSiblingElement("Banner") return banner_info_list def get_series_info(self, series_id): """Parse the <lang>.xml file for series information""" series = Series() series_info_url = "%s/series/%s/%s.xml" % \ (self.tvdb_apikey_url, series_id, self.lang) series_info_zip_url = "%s/series/%s/all/en.zip" % \ (self.tvdb_apikey_url, series_id) try: series_info = urllib2.urlopen(series_info_url) self.logger.info("Grabbed url %s" % (series_info_url)) except urllib2.HTTPError, e: