# HG changeset patch # User Edouard Tisserant # Date 1534159468 -7200 # Node ID 4195545e2d1704ed6d950fe947133983d3a00246 # Parent 37ef7a3c6b8ba5bdcd37896b923231b502f60832 NevowServer : added addInfoString to allow extensions to declare some read-only strings to be displayed in settings. Also renamed addExtension in addSettings for clarity. diff -r 37ef7a3c6b8b -r 4195545e2d17 runtime/NevowServer.py --- a/runtime/NevowServer.py Mon Aug 13 11:10:23 2018 +0200 +++ b/runtime/NevowServer.py Mon Aug 13 13:24:28 2018 +0200 @@ -135,11 +135,34 @@ def __init__(self): configurable.Configurable.__init__(self, None) self.bindingsNames = [] + self.infostringcount = 0 def getBindingNames(self, ctx): return self.bindingsNames - def addExtension(self, name, desc, fields, btnlabel, callback): + def addInfoString(self, label, value, name=None): + if type(value) is str: + def default(*k): + return value + else: + def default(*k): + return value() + + if name is None: + name = "_infostring_" + str(self.infostringcount) + self.infostringcount = self.infostringcount + 1 + + def _bind(ctx): + return annotate.Property( + name, + annotate.String( + label=label, + default=default, + immutable=True)) + setattr(self, 'bind_' + name, _bind) + self.bindingsNames.append(name) + + def addSettings(self, name, desc, fields, btnlabel, callback): def _bind(ctx): return annotate.MethodBinding( 'action_' + name, diff -r 37ef7a3c6b8b -r 4195545e2d17 runtime/WampClient.py --- a/runtime/WampClient.py Mon Aug 13 11:10:23 2018 +0200 +++ b/runtime/WampClient.py Mon Aug 13 13:24:28 2018 +0200 @@ -427,7 +427,8 @@ def RegisterWebSettings(NS): - NS.ConfigurableSettings.addExtension( + + NS.ConfigurableSettings.addSettings( "wamp", _("Wamp Settings"), webFormInterface,