"""Toy example of reading an SConf object.""" from IPython.external.configobj import ConfigObj from IPython.external import configobj, validate from IPython.config import sconfig reload(sconfig) configspecfilename = 'simple.spec.conf' filename = 'simple.conf' print '*'*80 configspec = ConfigObj(configspecfilename, encoding='UTF8', list_values=False) print sconfig.configobj2str(configspec) print '*'*80 config = ConfigObj(filename, configspec=configspec, interpolation='Template', unrepr=True) print sconfig.configobj2str(config) vdt = validate.Validator() test = config.validate(vdt,preserve_errors=True) #### vdt = validate.Validator() class Bunch: pass vf = Bunch() vf.__dict__.update(vdt.functions) vf.pass_ = vdt.functions['pass'] vf.__dict__.pop('',None) vf.__dict__.pop('pass',None) ### if test==True: print 'All OK' else: err = configobj.flatten_errors(config,test) print 'Flat errors:' for secs,key,result in err: if secs == []: print 'DEFAULT:','key:',key,'err:',result else: print 'Secs:',secs,'key:',key,'err:',result ## print '*'*80 sc = sconfig.SConfig(configspecfilename) ####