3 # vim: sw=4 ts=4 expandtab ai
6 from configobj import ConfigObj
7 from validate import Validator
9 class Config_Control(object):
12 self.config = Config_Abstraction('findit.ini', 'config_spec.ini')
13 #conf_ui = Config_Presentation()
16 return self.config.get_val(param)
18 class Config_Abstraction(object):
20 def __init__(self, config_file, config_spec_file):
21 self.load_config(config_file, config_spec_file)
23 def get_val(self, param):
24 return self.conf[param]
26 def set_val(self, param, value):
27 self.conf[param] = value
29 def load_config(self, config_file, config_spec_file):
30 self.conf = ConfigObj(config_file, configspec=config_spec_file)
32 test = self.conf.validate(val)
34 print 'Failed Load Config File'
36 def save_config(self, config_file=None):
38 self.conf.filename = config_file
41 class Config_Presentation(gtk.Window):
43 gtk.Window.__init__(self)
44 self.set_border_width(4)
45 self.connect('delete_event', gtk.main_quit)
52 if __name__ == '__main__':
53 cfg = Config_Control()
54 #cfg.config.set_val('default_pkg_count',15)
56 print cfg.get('window_width'), type(cfg.get('window_width'))
57 cfg.config.save_config()