From 320a488667d52d3571d82cafd6ccd0899949c22a Mon Sep 17 00:00:00 2001 From: Fabien Benureau Date: Mon, 1 Jul 2013 14:56:16 +0100 Subject: [PATCH] added get operator to config --- papers/configs.py | 6 ++++++ tests/test_config.py | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/papers/configs.py b/papers/configs.py index 3371c80..4f133c1 100644 --- a/papers/configs.py +++ b/papers/configs.py @@ -72,6 +72,12 @@ class Config(object): value = str2bool(value) return value + def get(self, name, default = None): + try: + return self.__getattr__(name) + except (configparser.NoOptionError, configparser.NoSectionError): + return default + def items(self): for name, value in self._cfg.items(self._section): if name in BOOLEANS: diff --git a/tests/test_config.py b/tests/test_config.py index c40fea5..bda8c7c 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -52,6 +52,9 @@ class TestConfig(unittest.TestCase): with self.assertRaises(configparser.NoOptionError): config().color2 + self.assertEqual(config().get('color2', default = 'blue'), 'blue') with self.assertRaises(configparser.NoSectionError): - config(section = 'bla3').color \ No newline at end of file + config(section = 'bla3').color + self.assertEqual(config(section = 'bla3').get('color', default = 'green'), 'green') + self.assertEqual(config(section = 'bla3').get('color', default = config().color), True)