Example #1
0
    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
Example #2
0
 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
Example #3
0
 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