diff options
author | Six <unknown> | 2010-04-20 21:46:25 -0400 |
---|---|---|
committer | Six <unknown> | 2010-04-20 21:46:25 -0400 |
commit | b3123bd288380bea9e0796f187eed7abf0ab95ea (patch) | |
tree | df1d4a4d538f94f6370b61cda172eea15cd146f0 | |
parent | 5eb1f9bdf1ce4703dd867bcc46a50621d48f0cb4 (diff) | |
download | dodai-macsupport-b3123bd288380bea9e0796f187eed7abf0ab95ea.tar.bz2 dodai-macsupport-b3123bd288380bea9e0796f187eed7abf0ab95ea.tar.xz dodai-macsupport-b3123bd288380bea9e0796f187eed7abf0ab95ea.zip |
added dodai.config.databases support and removed dodai.config.dbs support
-rw-r--r-- | dodai/config/__init__.py | 50 | ||||
-rw-r--r-- | test/test_config/test_init.py | 55 |
2 files changed, 50 insertions, 55 deletions
diff --git a/dodai/config/__init__.py b/dodai/config/__init__.py index 9eac0da..b976dca 100644 --- a/dodai/config/__init__.py +++ b/dodai/config/__init__.py | |||
@@ -16,7 +16,6 @@ | |||
16 | # along with Dodai. If not, see <http://www.gnu.org/licenses/>. | 16 | # along with Dodai. If not, see <http://www.gnu.org/licenses/>. |
17 | 17 | ||
18 | 18 | ||
19 | |||
20 | class Config(object): | 19 | class Config(object): |
21 | 20 | ||
22 | def __call__(self): | 21 | def __call__(self): |
@@ -26,38 +25,31 @@ class Config(object): | |||
26 | setattr(obj, key, val) | 25 | setattr(obj, key, val) |
27 | return obj | 26 | return obj |
28 | 27 | ||
29 | def set(self, key, val): | 28 | def __getattr__(self, key): |
30 | if not hasattr(self, 'vars'): | ||
31 | self.vars = {} | ||
32 | self.vars[key] = val | ||
33 | 29 | ||
34 | def options(self): | 30 | if 'files' == key: |
35 | if not hasattr(self, '_options'): | 31 | from dodai.config.files import ConfigFiles |
32 | self.files = ConfigFiles() | ||
33 | return self.files | ||
34 | elif 'options' == key: | ||
36 | from dodai.config.option import ConfigOption | 35 | from dodai.config.option import ConfigOption |
37 | self._options = ConfigOption() | 36 | self.options = ConfigOption() |
38 | return self._options | 37 | return self.options |
39 | 38 | elif 'logs' == key: | |
40 | def files(self): | ||
41 | if not hasattr(self, '_files'): | ||
42 | from dodai.config.file import ConfigFile | ||
43 | self._files = ConfigFile() | ||
44 | return self._files | ||
45 | |||
46 | def logs(self): | ||
47 | if not hasattr(self, '_logs'): | ||
48 | from dodai.config.log import ConfigLog | 39 | from dodai.config.log import ConfigLog |
49 | self._logs = ConfigLog() | 40 | self.logs = ConfigLog() |
50 | return self._logs | 41 | return self.logs |
51 | 42 | elif 'databases' == key: | |
52 | def dbs(self): | 43 | from dodai.config.databases import ConfigDatabases |
53 | if not hasattr(self, '_dbs'): | 44 | self.databases = ConfigDatabases() |
54 | from dodai.config.db import ConfigDb | 45 | return self.databases |
55 | self._dbs = ConfigDb() | 46 | else: |
56 | return self._dbs | 47 | raise KeyError(key) |
57 | |||
58 | |||
59 | |||
60 | 48 | ||
49 | def set(self, key, val): | ||
50 | if not hasattr(self, 'vars'): | ||
51 | self.vars = {} | ||
52 | self.vars[key] = val | ||
61 | 53 | ||
62 | 54 | ||
63 | class ConfigResults(object): | 55 | class ConfigResults(object): |
diff --git a/test/test_config/test_init.py b/test/test_config/test_init.py index 92b44c6..3246af2 100644 --- a/test/test_config/test_init.py +++ b/test/test_config/test_init.py | |||
@@ -15,48 +15,51 @@ | |||
15 | # You should have received a copy of the GNU General Public License | 15 | # You should have received a copy of the GNU General Public License |
16 | # along with Dodai. If not, see <http://www.gnu.org/licenses/>. | 16 | # along with Dodai. If not, see <http://www.gnu.org/licenses/>. |
17 | 17 | ||
18 | import sys | ||
19 | import os | ||
18 | import unittest | 20 | import unittest |
21 | path = os.path.realpath(os.path.join(os.path.dirname(__file__), '..', '..')) | ||
22 | sys.path.append(path) | ||
19 | from dodai.config import Config | 23 | from dodai.config import Config |
24 | from dodai.config import ConfigResults | ||
25 | from dodai.config.files import ConfigFiles | ||
20 | from dodai.config.option import ConfigOption | 26 | from dodai.config.option import ConfigOption |
21 | from dodai.config.file import ConfigFile | ||
22 | from dodai.config.log import ConfigLog | 27 | from dodai.config.log import ConfigLog |
23 | from dodai.config import ConfigResults | 28 | from dodai.config.databases import ConfigDatabases |
24 | from dodai.config.db import ConfigDb | ||
25 | 29 | ||
26 | class TestConfig(unittest.TestCase): | 30 | class TestConfig(unittest.TestCase): |
27 | 31 | ||
28 | def setUp(self): | 32 | def setUp(self): |
29 | self.obj = Config() | 33 | self.config = Config() |
30 | |||
31 | def test_set_one(self): | ||
32 | self.obj.set('foo', 'bar') | ||
33 | self.assertTrue('foo' in self.obj.vars.keys()) | ||
34 | 34 | ||
35 | def test_set_two(self): | 35 | def test_files(self): |
36 | self.obj.set('foo', 'bar') | 36 | self.assertTrue(isinstance(self.config.files, ConfigFiles)) |
37 | self.assertTrue('bar' == self.obj.vars['foo']) | ||
38 | 37 | ||
39 | def test_options(self): | 38 | def test_options(self): |
40 | obj = self.obj.options() | 39 | self.assertTrue(isinstance(self.config.options, ConfigOption)) |
41 | self.assertTrue(isinstance(obj, ConfigOption)) | ||
42 | |||
43 | def test_files(self): | ||
44 | obj = self.obj.files() | ||
45 | self.assertTrue(isinstance(obj, ConfigFile)) | ||
46 | 40 | ||
47 | def test_logs(self): | 41 | def test_logs(self): |
48 | obj = self.obj.logs() | 42 | self.assertTrue(isinstance(self.config.logs, ConfigLog)) |
49 | self.assertTrue(isinstance(obj, ConfigLog)) | 43 | |
44 | def test_databases(self): | ||
45 | self.assertTrue(isinstance(self.config.databases, ConfigDatabases)) | ||
46 | |||
47 | def test_getattr_error(self): | ||
48 | self.failUnlessRaises(KeyError, self.config.__getattr__, 'foo') | ||
49 | |||
50 | def test_set_one(self): | ||
51 | self.config.set('foo', 'bar') | ||
52 | self.assertTrue('foo' in self.config.vars.keys()) | ||
53 | |||
54 | def test_set_two(self): | ||
55 | self.config.set('foo', 'bar') | ||
56 | self.assertTrue('bar' == self.config.vars['foo']) | ||
50 | 57 | ||
51 | def test_call_one(self): | 58 | def test_call_one(self): |
52 | obj = self.obj() | 59 | obj = self.config() |
53 | self.assertTrue(isinstance(obj, ConfigResults)) | 60 | self.assertTrue(isinstance(obj, ConfigResults)) |
54 | 61 | ||
55 | def test_call_two(self): | 62 | def test_call_two(self): |
56 | self.obj.set('foo', 'bar') | 63 | self.config.set('foo', 'bar') |
57 | obj = self.obj() | 64 | obj = self.config() |
58 | self.assertTrue(obj.foo == 'bar') | 65 | self.assertTrue(obj.foo == 'bar') |
59 | |||
60 | def test_db_one(self): | ||
61 | obj = self.obj.dbs() | ||
62 | self.assertTrue(isinstance(obj, ConfigDb)) | ||