From e9c0f2aa8dc3d29c4c9c83f85744ce932230e130 Mon Sep 17 00:00:00 2001 From: Aaron LI Date: Sun, 30 Oct 2016 16:09:27 +0800 Subject: webui: Add "bin/fg21sim-webui" to start the UI server --- bin/fg21sim-webui | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100755 bin/fg21sim-webui (limited to 'bin') diff --git a/bin/fg21sim-webui b/bin/fg21sim-webui new file mode 100755 index 0000000..225aeed --- /dev/null +++ b/bin/fg21sim-webui @@ -0,0 +1,51 @@ +#!/usr/bin/env python3 +# -*- mode: python -*- +# +# Copyright (c) 2016 Weitian LI +# MIT license + +""" +Start (and control) the Web user interface (UI) of "fg21sim", +which is based upon Tornado_ and uses WebSocket_. + +.. _Tornado: http://www.tornadoweb.org/ + +.. _WebSocket: https://en.wikipedia.org/wiki/WebSocket , + http://caniuse.com/#feat=websockets +""" + + +import os +import sys +import argparse +import logging + +import tornado.ioloop + +from fg21sim.configs import configs +from fg21sim.utils import setup_logging +from fg21sim.webui import make_application + + +def main(): + parser = argparse.ArgumentParser(description="Start the fg21sim Web UI") + parser.add_argument("-p", "--port", type=int, default=21127, + help="Tornado server listen port (default: 21127)") + parser.add_argument("-d", "--debug", action="store_true", + help="enable Tornado debug mode") + args = parser.parse_args() + + setup_logging(dict_config=configs.logging) + tool = os.path.basename(sys.argv[0]) + logger = logging.getLogger(tool) + logger.info("COMMAND: {0}".format(" ".join(sys.argv))) + + application = make_application(debug=args.debug) + application.listen(args.port) + logger.info("Tornado started on: {protocol}://{host}:{port}".format( + protocol="http", host="localhost", port=args.port)) + tornado.ioloop.IOLoop.current().start() + + +if __name__ == "__main__": + main() -- cgit v1.2.2