equal
  deleted
  inserted
  replaced
  
    
    
     7         self.registered_args = {} | 
     7         self.registered_args = {} | 
     8         self.log = logging.getLogger('config') | 
     8         self.log = logging.getLogger('config') | 
     9   | 
     9   | 
    10     def add_argument(self, name, type=str, default=None):  | 
    10     def add_argument(self, name, type=str, default=None):  | 
    11         self.registered_args[name] = {'type':type, 'default':default} | 
    11         self.registered_args[name] = {'type':type, 'default':default} | 
         | 
    12         self.args[name] = default  | 
    12   | 
    13   | 
    13     def load(self, fname):  | 
    14     def load(self, fname):  | 
    14         # parse config file  | 
    15         # parse config file  | 
    15         with open(fname) as f:  | 
    16         with open(fname) as f:  | 
    16             exec(f.read(), self.args)  | 
    17             exec(f.read(), self.args)  | 
    23             if key == '__builtins__':  | 
    24             if key == '__builtins__':  | 
    24                 continue  | 
    25                 continue  | 
    25             if key in self.registered_args:  | 
    26             if key in self.registered_args:  | 
    26                 # arg registered, check type  | 
    27                 # arg registered, check type  | 
    27                 type = self.registered_args[key]['type']  | 
    28                 type = self.registered_args[key]['type']  | 
    28                 if not isinstance(self.args[key], type):  | 
    29                 if not isinstance(self.args[key], type) and not self.args[key] is None:  | 
    29                     ok = False  | 
    30                     ok = False  | 
    30                     self.log.error("Bad type of config parameter '%s': is %s but should be %s", | 
    31                     self.log.error("Bad type of config parameter '%s': is %s but should be %s", | 
    31                         key, type(self.args[key]), type)  | 
    32                         key, type(self.args[key]), type)  | 
    32             else:  | 
    33             else:  | 
    33                 # arg not registered  | 
    34                 # arg not registered  | 
    34                     ok = False  | 
    35                 ok = False  | 
    35                     self.log.error("Unknown config parameter '%s'.", key) | 
    36                 self.log.error("Unknown config parameter '%s'.", key) | 
    36         return ok  | 
    37         return ok  | 
    37   | 
    38   | 
    38     def __getattr__(self, name):  | 
    39     def __getattr__(self, name):  | 
    39         if name in self.args:  | 
    40         if name in self.args:  | 
    40             return self.args[name]  | 
    41             return self.args[name]  |