'Get detailed information about an episode'

def run(self):

    show_obj = Show.find(sickbeard.showList, int(self.indexerid))
    if (not show_obj):
        return _responds(RESULT_FAILURE, msg=u'Show    not    found')
    main_db_con = db.DBConnection(row_type=u'dict')
    sql_results = main_db_con.select(u'SELECT    name,    description,    airdate,    status,    location,    file_size,    release_name,    subtitles    FROM    tv_episodes    WHERE    showid    =    ?    AND    episode    =    ?    AND    season    =    ?', [self.indexerid, self.e, self.s])
    if (not (len(sql_results) == 1)):
        raise ApiError(u'Episode    not    found')
    episode = sql_results[0]
    show_path = None
    try:
        show_path = show_obj.location
    except ShowDirectoryNotFoundException:
        pass
    if (not show_path):
        episode['location'] = u''
    elif (not self.fullPath):
        show_path_length = (len(show_path) + 1)
        episode['location'] = episode['location'][show_path_length:]
    if (try_int(episode['airdate'], 1) > 693595):
        episode['airdate'] = sbdatetime.sbdatetime.sbfdate(sbdatetime.sbdatetime.convert_to_setting(network_timezones.parse_date_time(int(episode['airdate']), show_obj.airs, show_obj.network)), d_preset=dateFormat)
    else:
        episode['airdate'] = u'Never'
    (status, quality) = Quality.splitCompositeStatus(int(episode['status']))
    episode['status'] = _get_status_strings(status)
    episode['quality'] = get_quality_string(quality)
    episode['file_size_human'] = pretty_file_size(episode['file_size'])
    return _responds(RESULT_SUCCESS, episode)
