Beremiz_service.py
branchnevow_service_rework
changeset 2222 8ac0f1af5589
parent 2221 e03f7649bfb3
child 2245 fe3394697b02
equal deleted inserted replaced
2221:e03f7649bfb3 2222:8ac0f1af5589
   580         self.run = run_with_except_hook
   580         self.run = run_with_except_hook
   581     threading.Thread.__init__ = init
   581     threading.Thread.__init__ = init
   582 
   582 
   583 
   583 
   584 installThreadExcepthook()
   584 installThreadExcepthook()
       
   585 havewamp = False
   585 
   586 
   586 if havetwisted:
   587 if havetwisted:
   587     if webport is not None:
   588     if webport is not None:
   588         try:
   589         try:
   589             import runtime.NevowServer as NS  # pylint: disable=ungrouped-imports
   590             import runtime.NevowServer as NS  # pylint: disable=ungrouped-imports
   593         NS.WorkingDir = WorkingDir
   594         NS.WorkingDir = WorkingDir
   594 
   595 
   595     try:
   596     try:
   596         import runtime.WampClient as WC  # pylint: disable=ungrouped-imports
   597         import runtime.WampClient as WC  # pylint: disable=ungrouped-imports
   597         WC.WorkingDir = WorkingDir
   598         WC.WorkingDir = WorkingDir
       
   599         havewamp = True
   598     except Exception:
   600     except Exception:
   599         LogMessageAndException(_("WAMP import failed :"))
   601         LogMessageAndException(_("WAMP import failed :"))
   600 
   602 
   601 # Load extensions
   603 # Load extensions
   602 for extention_file, extension_folder in extensions:
   604 for extention_file, extension_folder in extensions:
   611             NS.SetServer(pyroserver)
   613             NS.SetServer(pyroserver)
   612             statuschange.append(NS.website_statuslistener_factory(website))
   614             statuschange.append(NS.website_statuslistener_factory(website))
   613         except Exception:
   615         except Exception:
   614             LogMessageAndException(_("Nevow Web service failed. "))
   616             LogMessageAndException(_("Nevow Web service failed. "))
   615 
   617 
   616     try:
   618     if havewamp:
   617         WC.SetServer(pyroserver)
   619         try:
   618         WC.RegisterWampClient(wampconf, wampsecret)
   620             WC.SetServer(pyroserver)
   619         WC.RegisterWebSettings(NS)
   621             WC.RegisterWampClient(wampconf, wampsecret)
   620     except Exception:
   622             WC.RegisterWebSettings(NS)
   621         LogMessageAndException(_("WAMP client startup failed. "))
   623         except Exception:
       
   624             LogMessageAndException(_("WAMP client startup failed. "))
   622 
   625 
   623 pyro_thread_started = Lock()
   626 pyro_thread_started = Lock()
   624 pyro_thread_started.acquire()
   627 pyro_thread_started.acquire()
   625 pyro_thread = Thread(target=pyroserver.PyroLoop,
   628 pyro_thread = Thread(target=pyroserver.PyroLoop,
   626                      kwargs=dict(when_ready=pyro_thread_started.release))
   629                      kwargs=dict(when_ready=pyro_thread_started.release))