'Add an existing show in SiCKRAGE'

def run(self):

    showObj = findCertainShow(sickrage.srCore.SHOWLIST, int(self.indexerid))
    if showObj:
        return _responds(RESULT_FAILURE, msg=u'An    existing    indexerid    already    exists    in    the    database')
    if (not os.path.isdir(self.location)):
        return _responds(RESULT_FAILURE, msg=u'Not    a    valid    location')
    indexerName = None
    indexerResult = CMD_SiCKRAGESearchIndexers([], {indexer_ids[self.indexer]: self.indexerid}).run()
    if (indexerResult[u'result'] == result_type_map[RESULT_SUCCESS]):
        if (not indexerResult[u'data'][u'results']):
            return _responds(RESULT_FAILURE, msg=u'Empty    results    returned,    check    indexerid    and    try    again')
        if ((len(indexerResult[u'data'][u'results']) == 1) and (u'name' in indexerResult[u'data'][u'results'][0])):
            indexerName = indexerResult[u'data'][u'results'][0][u'name']
    if (not indexerName):
        return _responds(RESULT_FAILURE, msg=u'Unable    to    retrieve    information    from    indexer')
    indexer = indexerResult[u'data'][u'results'][0][u'indexer']
    quality_map = {u'sdtv': Quality.SDTV, u'sddvd': Quality.SDDVD, u'hdtv': Quality.HDTV, u'rawhdtv': Quality.RAWHDTV, u'fullhdtv': Quality.FULLHDTV, u'hdwebdl': Quality.HDWEBDL, u'fullhdwebdl': Quality.FULLHDWEBDL, u'hdbluray': Quality.HDBLURAY, u'fullhdbluray': Quality.FULLHDBLURAY, u'unknown': Quality.UNKNOWN}
    newQuality = int(sickrage.srCore.srConfig.QUALITY_DEFAULT)
    iqualityID = []
    aqualityID = []
    if isinstance(self.initial, collections.Iterable):
        for quality in self.initial:
            iqualityID.append(quality_map[quality])
    if isinstance(self.archive, collections.Iterable):
        for quality in self.archive:
            aqualityID.append(quality_map[quality])
    if (iqualityID or aqualityID):
        newQuality = Quality.combineQualities(iqualityID, aqualityID)
    sickrage.srCore.SHOWQUEUE.addShow(int(indexer), int(self.indexerid), self.location, default_status=sickrage.srCore.srConfig.STATUS_DEFAULT, quality=newQuality, flatten_folders=int(self.flatten_folders), subtitles=self.subtitles, default_status_after=sickrage.srCore.srConfig.STATUS_DEFAULT_AFTER, archive=self.archive_firstmatch)
    return _responds(RESULT_SUCCESS, {u'name': indexerName}, (indexerName + u'    has    been    queued    to    be    added'))
