'Set the quality setting of a show. If no quality is provided, the default user setting is used.'

def run(self):

    showObj = findCertainShow(sickrage.srCore.SHOWLIST, int(self.indexerid))
    if (not showObj):
        return _responds(RESULT_FAILURE, msg=u'Show    not    found')
    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)
    showObj.quality = newQuality
    return _responds(RESULT_SUCCESS, msg=((showObj.name + u'    quality    has    been    changed    to    ') + get_quality_string(showObj.quality)))
