'Get detailed information about a show'

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')
    show_dict = {u'season_list': CMDShowSeasonList((), {u'indexerid': self.indexerid}).run()[u'data'], u'cache': CMDShowCache((), {u'indexerid': self.indexerid}).run()[u'data']}
    genre_list = []
    if show_obj.genre:
        genre_list_tmp = show_obj.genre.split(u'|')
        for genre in genre_list_tmp:
            if genre:
                genre_list.append(genre)
    show_dict[u'genre'] = genre_list
    show_dict[u'quality'] = get_quality_string(show_obj.quality)
    (any_qualities, best_qualities) = _map_quality(show_obj.quality)
    show_dict[u'quality_details'] = {u'initial': any_qualities, u'archive': best_qualities}
    try:
        show_dict[u'location'] = show_obj.location
    except ShowDirectoryNotFoundException:
        show_dict[u'location'] = u''
    show_dict[u'language'] = show_obj.lang
    show_dict[u'show_name'] = show_obj.name
    show_dict[u'paused'] = (0, 1)[show_obj.paused]
    show_dict[u'subtitles'] = (0, 1)[show_obj.subtitles]
    show_dict[u'air_by_date'] = (0, 1)[show_obj.air_by_date]
    show_dict[u'season_folders'] = (0, 1)[show_obj.season_folders]
    show_dict[u'sports'] = (0, 1)[show_obj.sports]
    show_dict[u'anime'] = (0, 1)[show_obj.anime]
    show_dict[u'airs'] = str(show_obj.airs).replace(u'am', u'    AM').replace(u'pm', u'    PM').replace(u'        ', u'    ')
    show_dict[u'dvdorder'] = (0, 1)[show_obj.dvdorder]
    if show_obj.rls_require_words:
        show_dict[u'rls_require_words'] = show_obj.rls_require_words.split(u',    ')
    else:
        show_dict[u'rls_require_words'] = []
    if show_obj.rls_ignore_words:
        show_dict[u'rls_ignore_words'] = show_obj.rls_ignore_words.split(u',    ')
    else:
        show_dict[u'rls_ignore_words'] = []
    show_dict[u'scene'] = (0, 1)[show_obj.scene]
    show_dict[u'archive_firstmatch'] = 1
    show_dict[u'indexerid'] = show_obj.indexerid
    show_dict[u'tvdbid'] = helpers.mapIndexersToShow(show_obj)[1]
    show_dict[u'imdbid'] = show_obj.imdbid
    show_dict[u'network'] = show_obj.network
    if (not show_dict[u'network']):
        show_dict[u'network'] = u''
    show_dict[u'status'] = show_obj.status
    if (try_int(show_obj.nextaired, 1) > 693595):
        dt_episode_airs = sbdatetime.sbdatetime.convert_to_setting(network_timezones.parse_date_time(show_obj.nextaired, show_dict[u'airs'], show_dict[u'network']))
        show_dict[u'airs'] = sbdatetime.sbdatetime.sbftime(dt_episode_airs, t_preset=timeFormat).lstrip(u'0').replace(u'    0', u'    ')
        show_dict[u'next_ep_airdate'] = sbdatetime.sbdatetime.sbfdate(dt_episode_airs, d_preset=dateFormat)
    else:
        show_dict[u'next_ep_airdate'] = u''
    return _responds(RESULT_SUCCESS, show_dict)
