def register(self, name, vtype, descr, default=None, validator=None): cfgname = get_config_name() c = new_config() value = None if len(c.read(cfgname)) != 0: value = get_option(c, CONFIG_SECTION, name, None, None) if vtype == str: pass elif vtype == bool: if value != None: value = value.upper() if value == '0' or value == 'NO' or value == 'FALSE': value = False elif value == '1' or value == 'YES' or value == 'TRUE': value = True else: value = None elif vtype == int: if value != None: value = str_to_int(value, None) if value == None: value = default s = Setting(name, vtype, descr, value, validator) self.settings.append(s) for cb in self.new_setting_cb: cb(s) return s
def write_settings(self): cfgname = get_config_name() c = new_config() c.add_section(CONFIG_SECTION) for s in self.settings: c.set(CONFIG_SECTION, s.name, str(s.value)) s.dirty = False safe_write_config(cfgname, c)
def save_to_ini_file(self, fname): c = new_config() if self.save_to_config_section(c): if safe_write_config(fname, c): self.dirty = False