'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_names.determineReleaseName(self.dir_name, self.nzb_name)
    if (releaseName is None):
        self._log(u'Warning:    unable    to    find    a    valid    release    name.', sickrage.srCore.srLogger.WARNING)
        raise FailedPostProcessingFailedException()
    try:
        parser = NameParser(False)
        parsed = parser.parse(releaseName)
    except InvalidNameException:
        self._log((u'Error:    release    name    is    invalid:    ' + releaseName), sickrage.srCore.srLogger.DEBUG)
        raise FailedPostProcessingFailedException()
    except InvalidShowException:
        self._log(((u'Error:    unable    to    parse    release    name    ' + releaseName) + u'    into    a    valid    show'), sickrage.srCore.srLogger.DEBUG)
        raise FailedPostProcessingFailedException()
    sickrage.srCore.srLogger.debug(u'name_parser    info:    ')
    sickrage.srCore.srLogger.debug((u'    -    ' + str(parsed.series_name)))
    sickrage.srCore.srLogger.debug((u'    -    ' + str(parsed.season_number)))
    sickrage.srCore.srLogger.debug((u'    -    ' + str(parsed.episode_numbers)))
    sickrage.srCore.srLogger.debug((u'    -    ' + str(parsed.extra_info)))
    sickrage.srCore.srLogger.debug((u'    -    ' + str(parsed.release_group)))
    sickrage.srCore.srLogger.debug((u'    -    ' + str(parsed.air_date)))
    for episode in parsed.episode_numbers:
        sickrage.srCore.SEARCHQUEUE.put(FailedQueueItem(parsed.show, [parsed.show.getEpisode(parsed.season_number, episode)]))
    return True
