def process(self): """ Do the actual work :return: True """ self._log(u"Failed download detected: (" + str(self.nzb_name) + ", " + str(self.dir_name) + ")") releaseName = show_name_helpers.determineReleaseName(self.dir_name, self.nzb_name) if not releaseName: self._log(u"Warning: unable to find a valid release name.", logger.WARNING) raise FailedPostProcessingFailedException() try: parsed = NameParser(False).parse(releaseName) except (InvalidNameException, InvalidShowException) as error: self._log(u"{0}".format(error), logger.DEBUG) raise FailedPostProcessingFailedException() self._log(u"name_parser info: ", logger.DEBUG) self._log(u" - " + str(parsed.series_name), logger.DEBUG) self._log(u" - " + str(parsed.season_number), logger.DEBUG) self._log(u" - " + str(parsed.episode_numbers), logger.DEBUG) self._log(u" - " + str(parsed.extra_info), logger.DEBUG) self._log(u" - " + str(parsed.release_group), logger.DEBUG) self._log(u" - " + str(parsed.air_date), logger.DEBUG) for episode in parsed.episode_numbers: segment = parsed.show.getEpisode(parsed.season_number, episode) cur_failed_queue_item = search_queue.FailedQueueItem(parsed.show, [segment]) sickbeard.searchQueueScheduler.action.add_item(cur_failed_queue_item) return True
def process(self): self._log(u"Failed download detected: (" + str(self.nzb_name) + ", " + str(self.dir_name) + ")") releaseName = show_name_helpers.determineReleaseName(self.dir_name, self.nzb_name) if releaseName is None: self._log(u"Warning: unable to find a valid release name.", logger.WARNING) raise exceptions.FailedProcessingFailed() try: parser = NameParser(False, convert=True) parsed = parser.parse(releaseName) except InvalidNameException: self._log(u"Error: release name is invalid: " + releaseName, logger.DEBUG) raise exceptions.FailedProcessingFailed() except InvalidShowException: self._log(u"Error: unable to parse release name " + releaseName + " into a valid show", logger.DEBUG) raise exceptions.FailedProcessingFailed() logger.log(u"name_parser info: ", logger.DEBUG) logger.log(u" - " + str(parsed.series_name), logger.DEBUG) logger.log(u" - " + str(parsed.season_number), logger.DEBUG) logger.log(u" - " + str(parsed.episode_numbers), logger.DEBUG) logger.log(u" - " + str(parsed.extra_info), logger.DEBUG) logger.log(u" - " + str(parsed.release_group), logger.DEBUG) logger.log(u" - " + str(parsed.air_date), logger.DEBUG) for episode in parsed.episode_numbers: segment = parsed.show.getEpisode(parsed.season_number, episode) cur_failed_queue_item = search_queue.FailedQueueItem(parsed.show, segment) sickbeard.searchQueueScheduler.action.add_item(cur_failed_queue_item) return True
def process(self): self._log(u"Failed download detected: (" + str(self.nzb_name) + ", " + str(self.dir_name) + ")") releaseName = show_name_helpers.determineReleaseName( self.dir_name, self.nzb_name) if releaseName is None: self._log(u"Warning: unable to find a valid release name.", logger.WARNING) raise exceptions.FailedProcessingFailed() parser = NameParser(False) try: parsed = parser.parse(releaseName, True) except InvalidNameException: self._log(u"Error: release name is invalid: " + releaseName, logger.WARNING) raise exceptions.FailedProcessingFailed() logger.log(u"name_parser info: ", logger.DEBUG) logger.log(u" - " + str(parsed.series_name), logger.DEBUG) logger.log(u" - " + str(parsed.season_number), logger.DEBUG) logger.log(u" - " + str(parsed.episode_numbers), logger.DEBUG) logger.log(u" - " + str(parsed.extra_info), logger.DEBUG) logger.log(u" - " + str(parsed.release_group), logger.DEBUG) logger.log(u" - " + str(parsed.air_date), logger.DEBUG) show_id = self._get_show_id(parsed.series_name) if show_id is None: self._log(u"Warning: couldn't find show ID", logger.WARNING) raise exceptions.FailedProcessingFailed() self._log(u"Found show_id: " + str(show_id), logger.DEBUG) self._show_obj = helpers.findCertainShow(sickbeard.showList, show_id) if self._show_obj is None: self._log( u"Could not create show object. Either the show hasn't been added to SickBeard, or it's still loading (if SB was restarted recently)", logger.WARNING) raise exceptions.FailedProcessingFailed() # # Revert before fail, as fail alters the history # self._log(u"Reverting episodes...") # self.log += failed_history.revertEpisodes(self._show_obj, parsed.season_number, parsed.episode_numbers) # self._log(u"Marking release as bad: " + releaseName) # self.log += failed_history.logFailed(releaseName) self.log += failed_history.markFailed(self._show_obj, parsed.season_number, parsed.episode_numbers) # self._log(u"Marking release as Failed: " + releaseName) # self.log += failed_history.logFailed(releaseName) cur_failed_queue_item = search_queue.FailedQueueItem( self._show_obj, parsed.season_number) sickbeard.searchQueueScheduler.action.add_item(cur_failed_queue_item) return True
def process(self): self._log(u"Failed download detected: (" + str(self.nzb_name) + ", " + str(self.dir_name) + ")") releaseName = show_name_helpers.determineReleaseName( self.dir_name, self.nzb_name) if releaseName is None: self._log(u"Warning: unable to find a valid release name.", logger.WARNING) raise exceptions.FailedProcessingFailed() parser = NameParser(False) try: parsed = parser.parse(releaseName) except InvalidNameException: self._log(u"Error: release name is invalid: " + releaseName, logger.WARNING) raise exceptions.FailedProcessingFailed() logger.log(u"name_parser info: ", logger.DEBUG) logger.log(u" - " + str(parsed.series_name), logger.DEBUG) logger.log(u" - " + str(parsed.season_number), logger.DEBUG) logger.log(u" - " + str(parsed.episode_numbers), logger.DEBUG) logger.log(u" - " + str(parsed.extra_info), logger.DEBUG) logger.log(u" - " + str(parsed.release_group), logger.DEBUG) logger.log(u" - " + str(parsed.air_date), logger.DEBUG) logger.log(u" - " + str(parsed.sports_event_date), logger.DEBUG) self._show_obj = sickbeard.helpers.get_show_by_name(parsed.series_name) if self._show_obj is None: self._log( u"Could not create show object. Either the show hasn't been added to SickBeard, or it's still loading (if SB was restarted recently)", logger.WARNING) raise exceptions.FailedProcessingFailed() # scene -> indexer numbering parsed = parsed.convert(self._show_obj) segment = {parsed.season_number: []} for episode in parsed.episode_numbers: epObj = self._show_obj.getEpisode(parsed.season_number, episode) segment[parsed.season_number].append(epObj) cur_failed_queue_item = search_queue.FailedQueueItem( self._show_obj, segment) sickbeard.searchQueueScheduler.action.add_item(cur_failed_queue_item) return True
def process(self): """ Do the actual work :return: True """ self._log("Failed download detected: (" + str(self.nzb_name) + ", " + str(self.dir_name) + ")") releaseName = show_name_helpers.determineReleaseName( self.dir_name, self.nzb_name) if releaseName is None: self._log("Warning: unable to find a valid release name.", logging.WARNING) raise FailedPostProcessingFailedException() try: parser = NameParser(False) parsed = parser.parse(releaseName) except InvalidNameException: self._log("Error: release name is invalid: " + releaseName, logging.DEBUG) raise FailedPostProcessingFailedException() except InvalidShowException: self._log( "Error: unable to parse release name " + releaseName + " into a valid show", logging.DEBUG) raise FailedPostProcessingFailedException() logging.debug("name_parser info: ") logging.debug(" - " + str(parsed.series_name)) logging.debug(" - " + str(parsed.season_number)) logging.debug(" - " + str(parsed.episode_numbers)) logging.debug(" - " + str(parsed.extra_info)) logging.debug(" - " + str(parsed.release_group)) logging.debug(" - " + str(parsed.air_date)) for episode in parsed.episode_numbers: segment = parsed.show.getEpisode(parsed.season_number, episode) cur_failed_queue_item = search_queue.FailedQueueItem( parsed.show, [segment]) sickbeard.searchQueueScheduler.action.add_item( cur_failed_queue_item) return True