Ejemplo n.º 1
0
 def get_series_episodes(self, series_id):
     """Parse the <lang>.xml file for episode information"""
     xml_file_in_zip = "%s.xml" % (self.lang,)
     series_info_url = "%s/series/%s/all/%s.zip" % \
       (self.tvdb_apikey_url, series_id, self.lang)
     try:
         series_info_remote = urllib2.urlopen(series_info_url)
         self.logger.info("Grabbed url %s" % (series_info_url))
     except:
         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 Episode objects
     dom = QtXml.QDomDocument()
     dom.setContent(series_info_zip.read(xml_file_in_zip))
     data = dom.firstChildElement("Data")
     episode_info = []
     episode_node = data.firstChildElement("Episode")
     while not episode_node.isNull():
         episode = Episode()
         episode.set(episode_node, self.tvdb_banner_url, 'tvdb')
         episode_info.append(episode)
         episode_node = episode_node.nextSiblingElement("Episode")
     return episode_info
Ejemplo n.º 2
0
 def get_episode(self, nfo_path):
     """Get episode info from the nfo file"""
     dom = self.readNfo(nfo_path)
     node = dom.firstChildElement("episodedetails")
     episode = Episode()
     episode.set(node, '', 'nfo')
     return episode
Ejemplo n.º 3
0
    def get_episode_info(self, episode_id):
        """Parse the <lang>.xml file for episode information"""
        episode_info_url = "%s/episodes/%s/%s.xml" % \
            (self.tvdb_apikey_url, episode_id, self.lang)
        try:
            episode_info = urllib2.urlopen(episode_info_url)
            self.logger.info("Grabbed url %s" % (episode_info_url))
        except urllib2.HTTPError, e:
            self.logger.error("Error grabbing url %s" % (episode_info_url))
            return None
        dom = QtXml.QDomDocument()
        dom.setContent(episode_info.read())
        data = dom.firstChildElement("Data")
        if not data.isNull():
            episode = Episode()
            episode_node = data.firstChildElement("Episode")
            episode.set(episode_node, self.tvdb_banner_url, 'tvdb')
            return episode
        else:
            self.logger.error("File from %s came back empty." % (episode_info_url))
            return None

    def get_episode_by_season_episode(self, series_id, season, episode_no):
        """Parse the <lang>.xml file for episode information"""
        self.logger.debug("Season %s Episode %s" % (season, episode_no))
        if season == '00':
            season = '0'
        else:
            season = season.lstrip('0')
        episode_no = episode_no.lstrip('0')