1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
from Form import *
from Table import *
from Module import *
from validations import *
from consts import *
from ModuleCgi import *
from ModuleBalancer import NOTE_BALANCER
class ModuleFcgi (ModuleCgiBase):
PROPERTIES = ModuleCgiBase.PROPERTIES + [
'balancer'
]
def __init__ (self, cfg, prefix, submit):
ModuleCgiBase.__init__ (self, cfg, prefix, 'fcgi', submit)
def _op_render (self):
txt = ModuleCgiBase._op_render (self)
txt += '<h2>FastCGI specific</h2>'
table = TableProps()
prefix = "%s!balancer" % (self._prefix)
assert (self.submit_url)
e = self.AddPropOptions_Reload (table, "Balancer", prefix, BALANCERS, NOTE_BALANCER)
txt += self.Indent (str(table) + e)
return txt
def _op_apply_changes (self, uri, post):
# Apply balancer changes
pre = "%s!balancer" % (self._prefix)
new_balancer = post.pop(pre)
if new_balancer:
self._cfg[pre] = new_balancer
cfg = self._cfg[pre]
if cfg and cfg.value:
name = cfg.value
props = module_obj_factory (name, self._cfg, pre, self.submit_url)
props._op_apply_changes (uri, post)
# And CGI changes
return ModuleCgiBase._op_apply_changes (self, uri, post)
|