User factory method for creating SocketConnection object for Tornadio2
parent
874a7421e9
commit
b27e1ce15e
|
@ -32,7 +32,7 @@ userManager = None
|
|||
#~~ Printer state
|
||||
|
||||
class PrinterStateConnection(tornadio2.SocketConnection):
|
||||
def __init__(self, session, endpoint=None):
|
||||
def __init__(self, printer, gcodeManager, userManager, session, endpoint=None):
|
||||
tornadio2.SocketConnection.__init__(self, session, endpoint)
|
||||
|
||||
self._logger = logging.getLogger(__name__)
|
||||
|
@ -44,6 +44,10 @@ class PrinterStateConnection(tornadio2.SocketConnection):
|
|||
self._messageBacklog = []
|
||||
self._messageBacklogMutex = threading.Lock()
|
||||
|
||||
self._printer = printer
|
||||
self._gcodeManager = gcodeManager
|
||||
self._userManager = userManager
|
||||
|
||||
def on_open(self, info):
|
||||
self._logger.info("New connection from client")
|
||||
# Use of global here is smelly
|
||||
|
@ -541,7 +545,7 @@ class Server():
|
|||
logger.info("Listening on http://%s:%d" % (self._host, self._port))
|
||||
app.debug = self._debug
|
||||
|
||||
self._router = tornadio2.TornadioRouter(PrinterStateConnection)
|
||||
self._router = tornadio2.TornadioRouter(self._createSocketConnection)
|
||||
|
||||
self._tornado_app = Application(self._router.urls + [
|
||||
(".*", FallbackHandler, {"fallback": WSGIContainer(app)})
|
||||
|
@ -550,6 +554,10 @@ class Server():
|
|||
self._server.listen(self._port, address=self._host)
|
||||
IOLoop.instance().start()
|
||||
|
||||
def _createSocketConnection(self, session, endpoint=None):
|
||||
global printer, gcodeManager, userManager
|
||||
return PrinterStateConnection(printer, gcodeManager, userManager, session, endpoint)
|
||||
|
||||
def _initSettings(self, configfile, basedir):
|
||||
s = settings(init=True, basedir=basedir, configfile=configfile)
|
||||
|
||||
|
|
Loading…
Reference in New Issue