set a setting

def set(self, name, value):
        '''set a setting'''
        if not name in self._vars:
            raise AttributeError
        setting = self._vars[name]
        oldvalue = setting.value
        if not setting.set(value):
            print("Unable to convert %s to type %s" % (value, setting.type))
            return False
        if oldvalue != setting.value:
            self._last_change = time.time()
            if self._callback:
                self._callback(setting)
        return True