change argument format for config-calls
This commit is contained in:
@@ -35,20 +35,19 @@ def clear():
|
|||||||
"""Reset configuration to en empty state"""
|
"""Reset configuration to en empty state"""
|
||||||
globals()["_config"] = {}
|
globals()["_config"] = {}
|
||||||
|
|
||||||
def get(key, default=None):
|
def get(keys, default=None):
|
||||||
"""Get the value of property 'key' or a default-value if it doenst exist"""
|
"""Get the value of property 'key' or a default-value if it doenst exist"""
|
||||||
conf = _config
|
conf = _config
|
||||||
try:
|
try:
|
||||||
for k in key.split("."):
|
for k in keys:
|
||||||
conf = conf[k]
|
conf = conf[k]
|
||||||
return conf
|
return conf
|
||||||
except (KeyError, AttributeError):
|
except (KeyError, AttributeError):
|
||||||
return default
|
return default
|
||||||
|
|
||||||
def interpolate(key, default=None):
|
def interpolate(keys, default=None):
|
||||||
"""Interpolate the value of 'key'"""
|
"""Interpolate the value of 'key'"""
|
||||||
conf = _config
|
conf = _config
|
||||||
keys = key.split(".")
|
|
||||||
try:
|
try:
|
||||||
for k in keys:
|
for k in keys:
|
||||||
default = conf.get(keys[-1], default)
|
default = conf.get(keys[-1], default)
|
||||||
@@ -57,10 +56,9 @@ def interpolate(key, default=None):
|
|||||||
except (KeyError, AttributeError):
|
except (KeyError, AttributeError):
|
||||||
return default
|
return default
|
||||||
|
|
||||||
def set(key, value):
|
def set(keys, value):
|
||||||
"""Set the value of property 'key' for this session"""
|
"""Set the value of property 'key' for this session"""
|
||||||
conf = _config
|
conf = _config
|
||||||
keys = key.split(".")
|
|
||||||
for k in keys[:-1]:
|
for k in keys[:-1]:
|
||||||
try:
|
try:
|
||||||
conf = conf[k]
|
conf = conf[k]
|
||||||
|
|||||||
@@ -25,25 +25,25 @@ class TestConfig(unittest.TestCase):
|
|||||||
os.remove(self._configfile)
|
os.remove(self._configfile)
|
||||||
|
|
||||||
def test_get(self):
|
def test_get(self):
|
||||||
self.assertEqual(config.get("a"), "1")
|
self.assertEqual(config.get(["a"]), "1")
|
||||||
self.assertEqual(config.get("b.c"), "text")
|
self.assertEqual(config.get(["b", "c"]), "text")
|
||||||
self.assertEqual(config.get("d"), None)
|
self.assertEqual(config.get(["d"]), None)
|
||||||
self.assertEqual(config.get("e.f.g", 123), 123)
|
self.assertEqual(config.get(["e", "f", "g"], 123), 123)
|
||||||
|
|
||||||
def test_set(self):
|
def test_set(self):
|
||||||
config.set("b.c", [1, 2, 3])
|
config.set(["b", "c"], [1, 2, 3])
|
||||||
config.set("e.f.g", 234)
|
config.set(["e", "f", "g"], value=234)
|
||||||
self.assertEqual(config.get("b.c"), [1, 2, 3])
|
self.assertEqual(config.get(["b", "c"]), [1, 2, 3])
|
||||||
self.assertEqual(config.get("e.f.g"), 234)
|
self.assertEqual(config.get(["e", "f", "g"]), 234)
|
||||||
|
|
||||||
def test_interpolate(self):
|
def test_interpolate(self):
|
||||||
self.assertEqual(config.interpolate("a"), "1")
|
self.assertEqual(config.interpolate(["a"]), "1")
|
||||||
self.assertEqual(config.interpolate("b.a"), "1")
|
self.assertEqual(config.interpolate(["b", "a"]), "1")
|
||||||
self.assertEqual(config.interpolate("b.c", "2"), "text")
|
self.assertEqual(config.interpolate(["b", "c"], "2"), "text")
|
||||||
self.assertEqual(config.interpolate("b.d", "2"), "2")
|
self.assertEqual(config.interpolate(["b", "d"], "2"), "2")
|
||||||
config.set("d", 123)
|
config.set(["d"], 123)
|
||||||
self.assertEqual(config.interpolate("b.d", "2"), 123)
|
self.assertEqual(config.interpolate(["b", "d"], "2"), 123)
|
||||||
self.assertEqual(config.interpolate("d.d", "2"), 123)
|
self.assertEqual(config.interpolate(["d", "d"], "2"), 123)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
|||||||
Reference in New Issue
Block a user