[modules/sensors2] Fix runtime errors

This commit is contained in:
tobi-wan-kenobi 2020-03-28 13:44:45 +01:00
parent 908ef67109
commit d5820160dc
4 changed files with 6 additions and 8 deletions

View file

@ -68,7 +68,7 @@ if __name__ == "__main__":
main()
except Exception as e:
output = core.output.i3()
output.modules(core.module.Error(None, 'main', e))
output.modules(core.module.Error(module='main', error=e))
output.draw('start')
output.update()
output.draw('statusline')

View file

@ -26,7 +26,7 @@ def load(module_name, config=None):
if not error:
error = 'No such module'
log.fatal('failed to import {}: {}'.format(module_name, error))
return Error(config, module_name, error)
return Error(config=config, module=module_name, error=error)
class Module(core.input.Object):
def __init__(self, config=None, widgets=[]):
@ -56,7 +56,7 @@ class Module(core.input.Object):
try:
self.update()
except Exception as e:
module = Error(self._config, 'error', str(e))
module = Error(config=self._config, module='error', error=str(e))
self._widgets = [module.widget()]
self.update = module.update
@ -89,7 +89,7 @@ class Module(core.input.Object):
return None
class Error(Module):
def __init__(self, config, module, error):
def __init__(self, module, error, config=core.config.Config([])):
super().__init__(config, core.widget.Widget(self.full_text))
self._module = module
self._error = error

View file

@ -93,7 +93,7 @@ class i3(object):
def widgets(self, module):
widgets = []
for widget in module.widgets():
if self._config.autohide(widget.module().name()):
if widget.module() and self._config.autohide(widget.module().name()):
if not any(state in widget.state() for state in [ 'warning', 'critical']):
continue
widgets += self.__separator(module, widget)

View file

@ -27,11 +27,9 @@ class Module(core.module.Module):
self.__chip = self.parameter('chip', '')
self.__data = {}
self.__update()
self.widgets(self.__create_widgets())
def update(self):
self.widgets(self.__create_widgets())
self.__update()
for widget in self.widgets():
self.__update_widget(widget)