Update config module to provide dict like access
This commit is contained in:
@@ -85,6 +85,13 @@ class Config(object):
|
|||||||
self.__dict__[section].__dict__[name] = conv(cfg.get(section, name))
|
self.__dict__[section].__dict__[name] = conv(cfg.get(section, name))
|
||||||
except (ValueError, ConfigParser.NoSectionError, ConfigParser.NoOptionError):
|
except (ValueError, ConfigParser.NoSectionError, ConfigParser.NoOptionError):
|
||||||
self.__dict__[section].__dict__[name] = vdefault
|
self.__dict__[section].__dict__[name] = vdefault
|
||||||
|
|
||||||
|
def __getitem__(self, key):
|
||||||
|
try:
|
||||||
|
return getattr(self, key)
|
||||||
|
except AttributeError, e:
|
||||||
|
raise KeyError(e)
|
||||||
|
|
||||||
|
|
||||||
def x2bool(s):
|
def x2bool(s):
|
||||||
"""
|
"""
|
||||||
|
@@ -130,6 +130,15 @@ value = True
|
|||||||
assert(cfg.world.domination == False)
|
assert(cfg.world.domination == False)
|
||||||
assert(cfg.somethingelse.bla == "test")
|
assert(cfg.somethingelse.bla == "test")
|
||||||
assert(cfg.world.somenum == 0)
|
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__":
|
if __name__ == "__main__":
|
||||||
|
Reference in New Issue
Block a user