def loadConfig(self): """Read configuration file and update local config dictionary""" newconfig = ini_read(self.configfile).get('') if not newconfig: return self.config # Track which keys aren't seen in config file configkeys = set(self.config) for key, val in newconfig.iteritems(): if key in self.config: try: if isinstance(self.config[key], str): self.config[key] = val elif isinstance(self.config[key], (int, long)): self.config[key] = long(val) elif isinstance(self.config[key], float): self.config[key] = float(val) configkeys.discard(key) except ValueError: pass if configkeys: # Unsaved keys or invalid types prompt re-saving self.saveConfig() return self.config
def loadConfig(self): try: r = ini_read(self.configfile)[''] except: return self.config l = self.config.keys() for k,v in r.items(): if self.config.has_key(k): t = type(self.config[k]) try: if t == StringType: self.config[k] = v elif t == IntType or t == LongType: self.config[k] = long(v) elif t == FloatType: self.config[k] = float(v) l.remove(k) except: pass if l: # new default values since last save self.saveConfig() return self.config