[modules] remove setting widgets via "self.widgets(new list)"

use self.add_widget() for all modules
This commit is contained in:
tobi-wan-kenobi 2020-05-09 10:57:44 +02:00
parent 85ac953111
commit 99e3571eee
17 changed files with 52 additions and 121 deletions

View file

@ -28,6 +28,7 @@ def load(module_name, config=core.config.Config([]), theme=None):
)
return getattr(mod, "Module")(config, theme)
except ImportError as e:
log.debug("failed to import {}: {}".format(module_name, e))
error = e
log.fatal("failed to import {}: {}".format(module_name, error))
return Error(config=config, module=module_name, error=error)
@ -76,11 +77,12 @@ class Module(core.input.Object):
self.__widgets = [module.widget()]
self.update = module.update
def widgets(self, widgets=None):
if widgets:
self.__widgets = widgets
def widgets(self):
return self.__widgets
def clear_widgets(self):
del self.__widgets[:]
def add_widget(self, full_text="", name=None):
widget = core.widget.Widget(full_text=full_text, name=name, module=self)
self.widgets().append(widget)