From 6c49abea745406d80197b0ebb2c5d94cad72ae39 Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Wed, 16 Aug 2023 17:13:59 +0200 Subject: [PATCH] fix frappy/playground.py after change 31470 assumptions about dispatcher in playground.py are no longer valid. - let Dispatcher class in playground inherit from real dispatcher + improve log messages Change-Id: I2a9a9d532dabadc590543660c445c021dd2f2891 Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31967 Tested-by: Jenkins Automated Tests Reviewed-by: Alexander Zaft Reviewed-by: Markus Zolliker --- frappy/playground.py | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/frappy/playground.py b/frappy/playground.py index 07061f6..c8b11f2 100644 --- a/frappy/playground.py +++ b/frappy/playground.py @@ -30,10 +30,10 @@ Remarks: import sys from logging import DEBUG, INFO, addLevelName import mlzlog -from frappy.errors import NoSuchModuleError from frappy.server import Server from frappy.config import load_config, Mod as ConfigMod from frappy.lib import generalConfig +from frappy.protocol import dispatcher USAGE = """create config on the fly: @@ -77,28 +77,25 @@ class MainLogger: self.log.handlers[0].setLevel(LOG_LEVELS['comlog']) -class Dispatcher: - def __init__(self, name, log, opts, srv): - self.log = log - self._modules = {} - self.equipment_id = opts.pop('equipment_id', name) +class Dispatcher(dispatcher.Dispatcher): + def __init__(self, name, log, options, srv): + super().__init__(name, log, options, srv) + self.log = srv.log # overwrite child logger def announce_update(self, modulename, pname, pobj): if pobj.readerror: value = repr(pobj.readerror) else: value = pobj.value - self.log.info('%s:%s %r', modulename, pname, value) + logobj = self._modules.get(modulename, self) + # self.log.info('%s:%s %r', modulename, pname, value) + logobj.log.info('%s %r', pname, value) def register_module(self, moduleobj, modulename, export=True): + self.log.info('registering %s', modulename) setattr(main, modulename, moduleobj) self._modules[modulename] = moduleobj - def get_module(self, modulename): - if modulename in self._modules: - return self._modules[modulename] - raise NoSuchModuleError(f'Module {modulename!r} does not exist on this SEC-Node!') - logger = MainLogger()