[core/config] Add module aliases
Allow the user to provide aliases when loading a module multiple times so that the modules can be differentiated (e.g. for passing parameters to a module). see #23
This commit is contained in:
parent
a720baf407
commit
9a5a6d354a
3 changed files with 22 additions and 3 deletions
|
@ -8,7 +8,10 @@ class Config(object):
|
||||||
self._args = parser.parse_args(args)
|
self._args = parser.parse_args(args)
|
||||||
|
|
||||||
def modules(self):
|
def modules(self):
|
||||||
return list(map(lambda x: { "name": x, "module": x }, self._args.modules))
|
return list(map(lambda x: {
|
||||||
|
"module": x.split(":")[0],
|
||||||
|
"name": x if not ":" in x else x.split(":")[1]
|
||||||
|
}, self._args.modules))
|
||||||
|
|
||||||
def _create_parser(self):
|
def _create_parser(self):
|
||||||
parser = argparse.ArgumentParser(description="display system data in the i3bar")
|
parser = argparse.ArgumentParser(description="display system data in the i3bar")
|
||||||
|
|
|
@ -1,5 +1,11 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
test=$(which nosetests)
|
test=$(which nosetests)
|
||||||
|
|
||||||
|
echo "testing $(python2 -V 2>&1)"
|
||||||
python2 $test --rednose -v tests/
|
python2 $test --rednose -v tests/
|
||||||
|
|
||||||
|
echo
|
||||||
|
|
||||||
|
echo "testing $(python3 -V 2>&1)"
|
||||||
python3 $test --rednose -v tests/
|
python3 $test --rednose -v tests/
|
||||||
|
|
|
@ -6,13 +6,23 @@ class TestConfig(unittest.TestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.defaultConfig = Config()
|
self.defaultConfig = Config()
|
||||||
self.someSimpleModules = [ "foo", "bar", "baz" ]
|
self.someSimpleModules = [ "foo", "bar", "baz" ]
|
||||||
|
self.someAliasModules = [ "foo:a", "bar:b", "baz:c" ]
|
||||||
|
|
||||||
|
|
||||||
def test_no_modules_by_default(self):
|
def test_no_modules_by_default(self):
|
||||||
self.assertEquals(self.defaultConfig.modules(), [])
|
self.assertEquals(self.defaultConfig.modules(), [])
|
||||||
|
|
||||||
def test_load_simple_modules(self):
|
def test_load_simple_modules(self):
|
||||||
cfg = Config([ "-m" ] + self.someSimpleModules)
|
cfg = Config([ "-m" ] + self.someSimpleModules)
|
||||||
self.assertEquals(cfg.modules(),
|
self.assertEquals(cfg.modules(), list(map(lambda x: {
|
||||||
list(map(lambda x: { "name": x, "module": x }, self.someSimpleModules)))
|
"name": x, "module": x
|
||||||
|
}, self.someSimpleModules)))
|
||||||
|
|
||||||
|
def test_load_alias_modules(self):
|
||||||
|
cfg = Config([ "-m" ] + self.someAliasModules)
|
||||||
|
self.assertEquals(cfg.modules(), list(map(lambda x: {
|
||||||
|
"module": x.split(":")[0],
|
||||||
|
"name": x.split(":")[1]
|
||||||
|
}, self.someAliasModules)))
|
||||||
|
|
||||||
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
|
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
|
||||||
|
|
Loading…
Reference in a new issue