runtime/NevowServer.py
branchsvghmi
changeset 3093 9986e691c2ee
parent 2672 4bc60e426dd6
child 2701 f4dac054cfa3
equal deleted inserted replaced
3092:96ffd8b1b016 3093:9986e691c2ee
    37 from formless import configurable
    37 from formless import configurable
    38 from twisted.internet import reactor
    38 from twisted.internet import reactor
    39 
    39 
    40 import util.paths as paths
    40 import util.paths as paths
    41 from runtime.loglevels import LogLevels, LogLevelsDict
    41 from runtime.loglevels import LogLevels, LogLevelsDict
       
    42 from runtime import MainWorker, GetPLCObjectSingleton
    42 
    43 
    43 PAGE_TITLE = 'Beremiz Runtime Web Interface'
    44 PAGE_TITLE = 'Beremiz Runtime Web Interface'
    44 
    45 
    45 xhtml_header = '''<?xml version="1.0" encoding="utf-8"?>
    46 xhtml_header = '''<?xml version="1.0" encoding="utf-8"?>
    46 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    47 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
   215     sendLogMessage = annotate.autocallable(sendLogMessage,
   216     sendLogMessage = annotate.autocallable(sendLogMessage,
   216                                            label=_(
   217                                            label=_(
   217                                                "Send a message to the log"),
   218                                                "Send a message to the log"),
   218                                            action=_("Send"))
   219                                            action=_("Send"))
   219 
   220 
       
   221     # pylint: disable=no-self-argument
       
   222     def restartOrResetPLC(
       
   223             ctx=annotate.Context(),
       
   224             action=annotate.Choice(["Restart", "Reset"],
       
   225                                   required=True,
       
   226                                   label=_("Action"))):
       
   227         pass
       
   228 
       
   229     restartOrResetPLC = annotate.autocallable(restartOrResetPLC,
       
   230                                            label=_(
       
   231                                                "Restart or Reset"),
       
   232                                            action=_("Do"))
   220 
   233 
   221 customSettingsURLs = {
   234 customSettingsURLs = {
   222 }
   235 }
   223 
   236 
   224 extensions_settings_od = collections.OrderedDict()
   237 extensions_settings_od = collections.OrderedDict()
   282         """
   295         """
   283         return ConfigurableSettings
   296         return ConfigurableSettings
   284 
   297 
   285     def sendLogMessage(self, level, message, **kwargs):
   298     def sendLogMessage(self, level, message, **kwargs):
   286         level = LogLevelsDict[level]
   299         level = LogLevelsDict[level]
   287         if _PySrv.plcobj is not None:
   300         GetPLCObjectSingleton().LogMessage(
   288             _PySrv.plcobj.LogMessage(
   301             level, "Web form log message: " + message)
   289                 level, "Web form log message: " + message)
   302 
       
   303     def restartOrResetPLC(self, action, **kwargs):
       
   304         if(action == "Reset"):
       
   305             GetPLCObjectSingleton().RepairPLC()
       
   306         else:
       
   307             MainWorker.quit()
       
   308             
       
   309         
   290 
   310 
   291     def locateChild(self, ctx, segments):
   311     def locateChild(self, ctx, segments):
   292         if segments[0] in customSettingsURLs:
   312         if segments[0] in customSettingsURLs:
   293             return customSettingsURLs[segments[0]](ctx, segments)
   313             return customSettingsURLs[segments[0]](ctx, segments)
   294         return super(SettingsPage, self).locateChild(ctx, segments)
   314         return super(SettingsPage, self).locateChild(ctx, segments)