# HG changeset patch # User Edouard Tisserant # Date 1608288628 -3600 # Node ID 9986e691c2ee733fc8895d2c7d716fb6e3695262 # Parent 96ffd8b1b0169f6b0c763cb4281c226859a754d0 runtime: added restart/reset button in web settings. Accidentaly fixed web settings logging feature. diff -r 96ffd8b1b016 -r 9986e691c2ee runtime/NevowServer.py --- a/runtime/NevowServer.py Thu Dec 17 19:31:00 2020 +0100 +++ b/runtime/NevowServer.py Fri Dec 18 11:50:28 2020 +0100 @@ -39,6 +39,7 @@ import util.paths as paths from runtime.loglevels import LogLevels, LogLevelsDict +from runtime import MainWorker, GetPLCObjectSingleton PAGE_TITLE = 'Beremiz Runtime Web Interface' @@ -217,6 +218,18 @@ "Send a message to the log"), action=_("Send")) + # pylint: disable=no-self-argument + def restartOrResetPLC( + ctx=annotate.Context(), + action=annotate.Choice(["Restart", "Reset"], + required=True, + label=_("Action"))): + pass + + restartOrResetPLC = annotate.autocallable(restartOrResetPLC, + label=_( + "Restart or Reset"), + action=_("Do")) customSettingsURLs = { } @@ -284,9 +297,16 @@ def sendLogMessage(self, level, message, **kwargs): level = LogLevelsDict[level] - if _PySrv.plcobj is not None: - _PySrv.plcobj.LogMessage( - level, "Web form log message: " + message) + GetPLCObjectSingleton().LogMessage( + level, "Web form log message: " + message) + + def restartOrResetPLC(self, action, **kwargs): + if(action == "Reset"): + GetPLCObjectSingleton().RepairPLC() + else: + MainWorker.quit() + + def locateChild(self, ctx, segments): if segments[0] in customSettingsURLs: