aboutsummaryrefslogtreecommitdiffstats
path: root/fg21sim/webui/app.py
diff options
context:
space:
mode:
authorAaron LI <aaronly.me@outlook.com>2016-10-30 16:07:10 +0800
committerAaron LI <aaronly.me@outlook.com>2016-10-30 16:07:10 +0800
commit90b877a2c785bb7691249d31e23138e0385001ae (patch)
tree7e775e4009d97ce611bc4a8f4c83f6ea2694ae13 /fg21sim/webui/app.py
parent9d7c7bb53244d2f79173b0f7fe1c6e91a656a240 (diff)
downloadfg21sim-90b877a2c785bb7691249d31e23138e0385001ae.tar.bz2
webui: Build the Web UI using Tornado with WebSocket
Tornado: http://www.tornadoweb.org/
Diffstat (limited to 'fg21sim/webui/app.py')
-rw-r--r--fg21sim/webui/app.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/fg21sim/webui/app.py b/fg21sim/webui/app.py
new file mode 100644
index 0000000..63d80be
--- /dev/null
+++ b/fg21sim/webui/app.py
@@ -0,0 +1,37 @@
+# Copyright (c) 2016 Weitian LI <liweitianux@live.com>
+# MIT license
+
+"""
+Web user interface (UI) of "fg21sim" based upon Tornado_.
+
+.. _Tornado: http://www.tornadoweb.org/
+"""
+
+import os
+
+import tornado.web
+
+from .websocket import EchoWSHandler
+
+
+class IndexHandler(tornado.web.RequestHandler):
+ def get(self):
+ self.render("index.html")
+
+
+_settings = {
+ # The static files will be served from the default "/static/" URI
+ "static_path": os.path.join(os.path.dirname(__file__), "static"),
+ "template_path": os.path.join(os.path.dirname(__file__), "templates"),
+}
+
+
+def make_application(**kwargs):
+ settings = _settings
+ settings.update(kwargs)
+ appplication = tornado.web.Application(
+ handlers=[
+ (r"/", IndexHandler),
+ (r"/ws", EchoWSHandler),
+ ], **settings)
+ return appplication