From 2026223ed10d1461ca7327b7b8aaa347b72c5b1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20F=C3=A4hrmann?= Date: Mon, 5 Oct 2015 12:42:42 +0200 Subject: [PATCH] change argument format for config-calls --- gallery_dl/config.py | 10 ++++------ test/test_config.py | 30 +++++++++++++++--------------- 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/gallery_dl/config.py b/gallery_dl/config.py index 549e40e9..9a02f307 100644 --- a/gallery_dl/config.py +++ b/gallery_dl/config.py @@ -35,20 +35,19 @@ def clear(): """Reset configuration to en empty state""" 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""" conf = _config try: - for k in key.split("."): + for k in keys: conf = conf[k] return conf except (KeyError, AttributeError): return default -def interpolate(key, default=None): +def interpolate(keys, default=None): """Interpolate the value of 'key'""" conf = _config - keys = key.split(".") try: for k in keys: default = conf.get(keys[-1], default) @@ -57,10 +56,9 @@ def interpolate(key, default=None): except (KeyError, AttributeError): return default -def set(key, value): +def set(keys, value): """Set the value of property 'key' for this session""" conf = _config - keys = key.split(".") for k in keys[:-1]: try: conf = conf[k] diff --git a/test/test_config.py b/test/test_config.py index 3aaeb42c..f8017626 100644 --- a/test/test_config.py +++ b/test/test_config.py @@ -25,25 +25,25 @@ class TestConfig(unittest.TestCase): os.remove(self._configfile) def test_get(self): - self.assertEqual(config.get("a"), "1") - self.assertEqual(config.get("b.c"), "text") - self.assertEqual(config.get("d"), None) - self.assertEqual(config.get("e.f.g", 123), 123) + self.assertEqual(config.get(["a"]), "1") + self.assertEqual(config.get(["b", "c"]), "text") + self.assertEqual(config.get(["d"]), None) + self.assertEqual(config.get(["e", "f", "g"], 123), 123) def test_set(self): - config.set("b.c", [1, 2, 3]) - config.set("e.f.g", 234) - self.assertEqual(config.get("b.c"), [1, 2, 3]) - self.assertEqual(config.get("e.f.g"), 234) + config.set(["b", "c"], [1, 2, 3]) + config.set(["e", "f", "g"], value=234) + self.assertEqual(config.get(["b", "c"]), [1, 2, 3]) + self.assertEqual(config.get(["e", "f", "g"]), 234) def test_interpolate(self): - self.assertEqual(config.interpolate("a"), "1") - self.assertEqual(config.interpolate("b.a"), "1") - self.assertEqual(config.interpolate("b.c", "2"), "text") - self.assertEqual(config.interpolate("b.d", "2"), "2") - config.set("d", 123) - self.assertEqual(config.interpolate("b.d", "2"), 123) - self.assertEqual(config.interpolate("d.d", "2"), 123) + self.assertEqual(config.interpolate(["a"]), "1") + self.assertEqual(config.interpolate(["b", "a"]), "1") + self.assertEqual(config.interpolate(["b", "c"], "2"), "text") + self.assertEqual(config.interpolate(["b", "d"], "2"), "2") + config.set(["d"], 123) + self.assertEqual(config.interpolate(["b", "d"], "2"), 123) + self.assertEqual(config.interpolate(["d", "d"], "2"), 123) if __name__ == '__main__': unittest.main()