diff --git a/lib/debug.py b/lib/debug.py new file mode 100644 index 0000000..1127d26 --- /dev/null +++ b/lib/debug.py @@ -0,0 +1,19 @@ +from glob import iglob as glob +from itertools import chain + +from tornado.autoreload import watch + + +# yo dawg, we heard you like generators, so now you can generate generators +# with generators +def _static_files(): + return chain.from_iterable( + glob(pattern) for pattern in ( + 'static/*.js', 'static/*.css', 'templates/*htm?' + ) + ) + + +def watch_static_files(): + for file in _static_files(): + watch(file) diff --git a/src/app/app.py b/src/app/app.py index 0b4a79a..c52833c 100644 --- a/src/app/app.py +++ b/src/app/app.py @@ -7,6 +7,7 @@ from tornado.web import Application from tornado.ioloop import IOLoop from config import WEB_PORT +import debug from handlers import MainHandler, ZMQWebSocketHandler, LoginWebappHandler import ui_modules @@ -23,6 +24,7 @@ if __name__ == '__main__': ui_modules=ui_modules, autoreload=True ) + application.listen(WEB_PORT) logging.getLogger().setLevel(logging.DEBUG) logging.debug('Python version: {}'.format(sys.version[:5])) @@ -30,4 +32,5 @@ if __name__ == '__main__': logging.debug('ZeroMQ version: {}'.format(zmq.zmq_version())) logging.debug('PyZMQ version: {}'.format(zmq.pyzmq_version())) logging.info('Tornado application listening on port {}'.format(WEB_PORT)) + debug.watch_static_files() IOLoop.instance().start()