'Takes a name and tries to figure out a show, season, and episode from it.
:param name: A string which we want to analyze to determine show info from (unicode)
:return: A (indexer_id, season, [episodes]) tuple. The first two may be None and episodes may be []
if none were found.'

def _analyze_name(self, name):

    to_return = (None, None, [], None, None)
    if (not name):
        return to_return
    sickrage.srCore.srLogger.debug((u'Analyzing    name    ' + repr(name)))
    name = remove_non_release_groups(remove_extension(name))
    np = NameParser(True, tryIndexers=True)
    parse_result = np.parse(name)
    show = parse_result.show
    if parse_result.is_air_by_date:
        season = (-1)
        episodes = [parse_result.air_date]
    else:
        season = parse_result.season_number
        episodes = parse_result.episode_numbers
    to_return = (show, season, episodes, parse_result.quality, None)
    self._finalize(parse_result)
    return to_return
