Example #1
0
    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
Example #2
0
 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)
Example #3
0
 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