Update config module to provide dict like access

This commit is contained in:
Stefan Hacker
2010-12-31 15:04:34 +01:00
parent 8cd1d39fe7
commit 852549c44c
2 changed files with 16 additions and 0 deletions

View File

@@ -86,6 +86,13 @@ class Config(object):
except (ValueError, ConfigParser.NoSectionError, ConfigParser.NoOptionError):
self.__dict__[section].__dict__[name] = vdefault
def __getitem__(self, key):
try:
return getattr(self, key)
except AttributeError, e:
raise KeyError(e)
def x2bool(s):
"""
Helper function to convert strings from the config to bool

View File

@@ -131,6 +131,15 @@ value = True
assert(cfg.somethingelse.bla == "test")
assert(cfg.world.somenum == 0)
def testGetItem(self):
cfg = Config(default=self.cfg_default)
assert(cfg["world"]["domination"] == False)
def invalidaccess(c):
c["nointhisconfig"]
self.assertRaises(KeyError, invalidaccess, cfg)
if __name__ == "__main__":
#import sys;sys.argv = ['', 'Test.testName']