[core] Add support for module parameters

Parse '-p' parameters and make them accessible via 'parameter()' from
within a module (basically, restore the previous configuration
facility).

Still TODO: Add support for configuration files.
This commit is contained in:
Tobias Witek 2020-02-04 21:09:11 +01:00
parent 3a531c359f
commit 6adc497f68
4 changed files with 42 additions and 14 deletions

View file

@ -15,11 +15,23 @@ class Module(object):
def __init__(self, config=None, widgets=[]):
self._config = config
self._widgets = widgets if isinstance(widgets, list) else [ widgets ]
self._name = None
def parameter(self, key, default=None):
value = default
for prefix in [ self.name(), self.module_name() ]:
value = self._config.get('{}.{}'.format(prefix, key), value)
# TODO retrieve from config file
return value
def update(self):
pass
def name(self):
return self._name if self._name else self.module_name()
def module_name(self):
return self.__module__.split('.')[-1]
def widgets(self):

View file

@ -9,7 +9,7 @@ class Widget(util.store.Store):
self._full_text = value
else:
if callable(self._full_text):
return self._full_text(self)
return self._full_text()
return self._full_text
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4