'Do the actual work
:return: True'

def process(self):

    self._log(((((u'Failed    download    detected:    (' + str(self.nzb_name)) + u',    ') + str(self.dir_name)) + u')'))
    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
