@param obj: The configuration instance to modify.
@param objtype: The type of the config instance (not used).
@return: The parsed option value or the default value if the value
- wasn't set in the configuration file.
+ was not set in the configuration file.
'''
if obj is None:
return self
print >> sys.stderr, "Error reading config file: %s" % e
sys.exit(1)
opts.populate(confparser, 'main')
+
+ ## build up the cas structure
+ opts.ca = {}
+# opts.ca[''] = {}
+
+ ## Add the default items when just using a single ca
+# main_items = confparser.items('main')
+# for (key,value) in main_items:
+# if key in ['autosign','cadir','cert_dir','certroot','csrroot']:
+# print "main ca: key: %s, value: %s" % (key,value)
+# opts.ca[''][key] = value
+ opts.ca[''] = BaseConfigDerived()
+ opts.ca[''].populate(confparser,'main')
+
+ ## Add additonal ca sections
+ sections = confparser.sections()
+ for a_section in sections:
+ if a_section.startswith('ca:'):
+ ca_name = a_section[3:]
+# items = confparser.items(a_section)
+# opts.ca[ca_name] = {}
+# for (key,value) in items:
+# opts.ca[ca_name][key] = value
+ opts.ca[ca_name] = BaseConfigDerived()
+ opts.ca[ca_name].populate(confparser,a_section)
+ opts.ca[ca_name].cakey = None
+ opts.ca[ca_name].cacert = None
+
return opts