diff -r 07ee5543751b -r 6b0ff82dff81 iro/config.py --- a/iro/config.py Thu Feb 23 16:57:57 2012 +0100 +++ b/iro/config.py Thu Feb 23 16:58:58 2012 +0100 @@ -1,4 +1,4 @@ -from ConfigParser import ConfigParser +from ConfigParser import ConfigParser, NoOptionError import signal from functools import partial @@ -11,20 +11,20 @@ self.reloadList=[] def read(self,files): - from offer import providers + from offer import getProvider ConfigParser.read(self, files) for s in self.sections(): if s == "main": opts=main + for o in opts: + try: + opts[o].validate(self.get(s,o),o) + except (ValidateException, NoOptionError): + if opts[o].must: + raise else: - opts=providers[self.get(s,'typ')].options + getProvider("tmp", self.get(s,'typ'), self.items(s)) - for o in opts: - try: - opts[o].validate(self.get(s,o),o) - except ValidateException: - if opts[o].must: - raise def reload_(self): for f in self.reloadList: