simpleconf.py
59 lines
| 1.2 KiB
| text/x-python
|
PythonLexer
Brian E Granger
|
r1234 | """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) | ||||
#### | ||||