diff -r e25479e3fe11 -r 4963e3816641 Beremiz_service.py --- 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 @@ pyruntimevars = {} statuschange = [] -registerserverto = [] if havetwisted: if havewx: reactor.registerWxApp(app) - if webport is not None : - try: - import runtime.NevowServer as NS - website = NS.RegisterWebsite(webport) - pyruntimevars["website"] = website - statuschange.append(NS.website_statuslistener_factory(website)) - except Exception, e: - print "Nevow Web service failed.", e - - if wampconf is not None : - try: - import runtime.WampClient as WC - WC.RegisterWampClient(wampconf) - pyruntimevars["wampsession"] = WC.GetSession - registerserverto.append(WC.SetServer) - except Exception, e: - print "WAMP client startup failed.", e - if havewx: from threading import Semaphore wx_eval_lock = Semaphore(0) @@ -495,8 +476,6 @@ WorkingDir, argv, autostart, statuschange, pyruntimevars=pyruntimevars) -for registrar in registerserverto : - registrar(pyroserver) # Exception hooks s import threading, traceback @@ -523,12 +502,45 @@ threading.Thread.__init__ = init installThreadExcepthook() +if havetwisted: + if webport is not None : + try: + import runtime.NevowServer as NS + except Exception, e: + print "Nevow/Athena import failed :", e + webport = None + + if wampconf is not None : + try: + import runtime.WampClient as WC + except Exception, e: + print "WAMP import failed :", e + wampconf = None + # Load extensions for extfilename in extensions: extension_folder = os.path.split(os.path.realpath(extfilename))[0] sys.path.append(extension_folder) execfile(extfilename, locals()) +if havetwisted: + if webport is not None : + try: + website = NS.RegisterWebsite(webport) + pyruntimevars["website"] = website + statuschange.append(NS.website_statuslistener_factory(website)) + except Exception, e: + print "Nevow Web service failed.", e + + if wampconf is not None : + try: + WC.RegisterWampClient(wampconf) + pyruntimevars["wampsession"] = WC.GetSession + WC.SetServer(pyroserver) + except Exception, e: + print "WAMP client startup failed.", e + + if havetwisted or havewx: pyro_thread=Thread(target=pyroserver.Loop) pyro_thread.start()