runtime/NevowServer.py
changeset 3800 a5a6ee271e65
parent 3750 f62625418bff
child 3803 b3394107eb8b
equal deleted inserted replaced
3799:2b995a4963a4 3800:a5a6ee271e65
    27 
    27 
    28 import os
    28 import os
    29 import collections
    29 import collections
    30 import shutil
    30 import shutil
    31 import platform as platform_module
    31 import platform as platform_module
    32 from zope.interface import implements
    32 from zope.interface import implementer
    33 from nevow import appserver, inevow, tags, loaders, athena, url, rend
    33 from nevow import appserver, inevow, tags, loaders, athena, url, rend
    34 from nevow.page import renderer
    34 from nevow.page import renderer
    35 from nevow.static import File
    35 from nevow.static import File
    36 from formless import annotate
    36 from formless import annotate
    37 from formless import webform
    37 from formless import webform
    42 from runtime.loglevels import LogLevels, LogLevelsDict
    42 from runtime.loglevels import LogLevels, LogLevelsDict
    43 from runtime import MainWorker, GetPLCObjectSingleton
    43 from runtime import MainWorker, GetPLCObjectSingleton
    44 
    44 
    45 PAGE_TITLE = 'Beremiz Runtime Web Interface'
    45 PAGE_TITLE = 'Beremiz Runtime Web Interface'
    46 
    46 
    47 xhtml_header = '''<?xml version="1.0" encoding="utf-8"?>
    47 xhtml_header = b'''<?xml version="1.0" encoding="utf-8"?>
    48 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    48 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    49 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    49 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    50 '''
    50 '''
    51 
    51 
    52 WorkingDir = None
    52 WorkingDir = None
   246 customSettingsURLs = {
   246 customSettingsURLs = {
   247 }
   247 }
   248 
   248 
   249 extensions_settings_od = collections.OrderedDict()
   249 extensions_settings_od = collections.OrderedDict()
   250 
   250 
       
   251 @implementer(ISettings)
   251 class SettingsPage(rend.Page):
   252 class SettingsPage(rend.Page):
   252     # We deserve a slash
   253     # We deserve a slash
   253     addSlash = True
   254     addSlash = True
   254 
   255 
   255     # This makes webform_css url answer some default CSS
   256     # This makes webform_css url answer some default CSS
   256     child_webform_css = webform.defaultCSS
   257     child_webform_css = webform.defaultCSS
   257     child_webinterface_css = File(paths.AbsNeighbourFile(__file__, 'webinterface.css'), 'text/css')
   258     child_webinterface_css = File(paths.AbsNeighbourFile(__file__, 'webinterface.css'), 'text/css')
   258 
       
   259     implements(ISettings)
       
   260    
   259    
   261     def __getattr__(self, name):
   260     def __getattr__(self, name):
   262         global extensions_settings_od
   261         global extensions_settings_od
   263         if name.startswith('configurable_'):
   262         if name.startswith('configurable_'):
   264             token = name[13:]
   263             token = name[13:]