'Add an existing show in SickRage'

def run(self):

    show_obj = Show.find(sickbeard.showList, int(self.indexerid))
    if show_obj:
        return _responds(RESULT_FAILURE, msg=u'An    existing    indexerid    already    exists    in    the    database')
    if (not ek(os.path.isdir, self.location)):
        return _responds(RESULT_FAILURE, msg=u'Not    a    valid    location')
    indexer_name = None
    indexer_result = CMDSickBeardSearchIndexers([], {indexer_ids[self.indexer]: self.indexerid}).run()
    if (indexer_result['result'] == result_type_map[RESULT_SUCCESS]):
        if (not indexer_result['data'][u'results']):
            return _responds(RESULT_FAILURE, msg=u'Empty    results    returned,    check    indexerid    and    try    again')
        if ((len(indexer_result['data'][u'results']) == 1) and (u'name' in indexer_result['data'][u'results'][0])):
            indexer_name = indexer_result['data'][u'results'][0][u'name']
    if (not indexer_name):
        return _responds(RESULT_FAILURE, msg=u'Unable    to    retrieve    information    from    indexer')
    indexer = indexer_result['data'][u'results'][0][u'indexer']
    new_quality = int(sickbeard.QUALITY_DEFAULT)
    i_quality_id = []
    a_quality_id = []
    if self.initial:
        for quality in self.initial:
            i_quality_id.append(QUALITY_MAP[quality])
    if self.archive:
        for quality in self.archive:
            a_quality_id.append(QUALITY_MAP[quality])
    if (i_quality_id or a_quality_id):
        new_quality = Quality.combineQualities(i_quality_id, a_quality_id)
    sickbeard.showQueueScheduler.action.add_show(int(indexer), int(self.indexerid), self.location, default_status=sickbeard.STATUS_DEFAULT, quality=new_quality, season_folders=int(self.season_folders), subtitles=self.subtitles, default_status_after=sickbeard.STATUS_DEFAULT_AFTER)
    return _responds(RESULT_SUCCESS, {u'name': indexer_name}, (indexer_name + u'    has    been    queued    to    be    added'))
