diff -r 8a7a976a6d58 -r 072de50834f9 iro/config.py --- a/iro/config.py Sun Mar 11 16:37:08 2012 +0100 +++ b/iro/config.py Sun Mar 11 16:37:49 2012 +0100 @@ -43,17 +43,18 @@ "dburl":Option(lambda x,y:x,long="Connection URL to database",must=True), } self.order = ["dburl","port"] - self._init=True + self._init = True def _read(self, cfg, write=False): c = dict(cfg) + for o in self.options: option = self.options[o] try: value = option.validate(c[o],o) if write: - self.init = False + self._init = False setattr(self,o,value) except KeyError: if option.must: @@ -93,7 +94,7 @@ def readConfig(): configParser.read(confFiles) - configParser.reload() + configParser.reload_() if main._init: main.load(configParser.items("main")) else: @@ -102,6 +103,10 @@ if not main.same(m): raise Exception("Main options can't be reloaded, please restart your Application.") +def init(): + configParser.read(confFiles) + main.load(configParser.items("main")) + def registerSignal(): '''register readConfig to SIGUSR2''' def rC(signal, frame):