--- a/Beremiz_service.py Tue Feb 10 00:25:17 2015 +0100
+++ b/Beremiz_service.py Mon Feb 16 16:23:51 2015 +0100
@@ -434,31 +434,12 @@
reactor.registerWxApp(app)
- if webport is not None :
- import runtime.NevowServer as NS
- website = NS.RegisterWebsite(webport)
- pyruntimevars["website"] = website
- statuschange.append(NS.website_statuslistener_factory(website))
- print "Nevow Web service failed.", e
- if wampconf is not None :
- import runtime.WampClient as WC
- WC.RegisterWampClient(wampconf)
- pyruntimevars["wampsession"] = WC.GetSession
- registerserverto.append(WC.SetServer)
- print "WAMP client startup failed.", e
from threading import Semaphore
wx_eval_lock = Semaphore(0)
@@ -495,8 +476,6 @@
WorkingDir, argv, autostart,
statuschange, pyruntimevars=pyruntimevars)
-for registrar in registerserverto :
import threading, traceback
@@ -523,12 +502,45 @@
threading.Thread.__init__ = init
installThreadExcepthook()
+ if webport is not None : + import runtime.NevowServer as NS + print "Nevow/Athena import failed :", e + if wampconf is not None : + import runtime.WampClient as WC + print "WAMP import failed :", e for extfilename in extensions:
extension_folder = os.path.split(os.path.realpath(extfilename))[0]
sys.path.append(extension_folder)
execfile(extfilename, locals())
+ if webport is not None : + website = NS.RegisterWebsite(webport) + pyruntimevars["website"] = website + statuschange.append(NS.website_statuslistener_factory(website)) + print "Nevow Web service failed.", e + if wampconf is not None : + WC.RegisterWampClient(wampconf) + pyruntimevars["wampsession"] = WC.GetSession + WC.SetServer(pyroserver) + print "WAMP client startup failed.", e if havetwisted or havewx:
pyro_thread=Thread(target=pyroserver.Loop)
--- a/runtime/WampClient.py Tue Feb 10 00:25:17 2015 +0100
+++ b/runtime/WampClient.py Mon Feb 16 16:23:51 2015 +0100
@@ -27,7 +27,12 @@
+ """ Get Callee or Subscriber corresponding to '.' spearated object path """ @@ -45,6 +50,12 @@
for name in ExposedCalls:
reg = yield self.register(GetCallee(name), '.'.join((ID,name)))
+ for name in SubscribedEvents: + reg = yield self.subscribe(GetCallee(name), name) def onLeave(self, details):
@@ -58,9 +69,14 @@
print("WAMP Client connection lost .. retrying ..")
+def LoadWampClientConf(wampconf): + WSClientConf = json.load(open(wampconf)) def RegisterWampClient(wampconf):
- WSClientConf = json.load(open(wampconf))
+ WSClientConf = LoadWampClientConf(wampconf) ## start logging to console
# log.startLogging(sys.stdout)