aboutsummaryrefslogtreecommitdiffstats
path: root/fg21sim/webui/websocket.py
Commit message (Collapse)AuthorAgeFilesLines
* webui: websocket.py: Accept "~" for the "userconfig"Aaron LI2016-11-151-2/+2
|
* webui: Replace "make_application()" with Application classAaron LI2016-11-141-2/+1
|
* webui: websocket.py: Ignore "configfile"; Allow set "userconfig"Aaron LI2016-11-111-5/+10
| | | | | * The "workdir" and "configfile" should be both ignored * Update "_set_configs()" method to allow set "userconfig"
* webui: Add "ConsoleHandler" to handle the "console" type messageAaron LI2016-11-091-12/+20
| | | | | | | | XXX/FIXME: The console task will BLOCK the tornado, which should be FIXED! However, the `WebSocket.on_message` currently may NOT be a coroutine (as of Tornado v4.3), so another way should be taken to solve this problem in order to call the console task asynchronously!
* webui: Add support of controlling the allowed hostsAaron LI2016-11-081-7/+18
|
* webui: websocket.py: Use flattened configs; Change "data" to "keys"Aaron LI2016-11-061-3/+3
| | | | | | | * Get the server-side configurations as a flattened one-level dictionary, for easier manipulations. * When get the configurations, specify the requested config options as an Array under the "keys" property (original: "data" property).
* webui: websocket.py: Support "reset", "load", "save" actions.Aaron LI2016-11-051-18/+105
| | | | | | | | | | | * Improve the response data to be more consistent. If the request failed, the returned response has "success" item of value "False" and an "error" item recording the message; * Add method "_reset_configs()" to handle the "reset" action; * Add method "_load_configs()" to handle the "load" action; * Add method "_save_configs()" to handle the "save" action. NOTE: needs tests.
* webui: websocket.py: Make the response message more consistentAaron LI2016-11-041-11/+24
| | | | | | | | All response message has a "success" item indicating whether the request be successfully handled. If anything unexpected happens, "success" is False, and an additional "error" item presents recording the detail. Also add some more stubs which are necessary for the Web UI.
* webui: websocket.py: Implement "set" action for "_handle_configs()"Aaron LI2016-11-041-11/+34
| | | | | | | Finish the "_set_configs()" function to implement the "set" action for "_handle_configs()". Also change the "status" keyword to "success" to be more intuitive.
* webui: websocket.py: Implement the "get" part of "_handle_configs()"Aaron LI2016-11-041-5/+118
| | | | | | | Add internal method "_get_configs()" which implement the "get" action part of the "_handle_configs()" method. TODO: implement the "set" action part.
* webui: websocket.py: Fix wrong exception handlingAaron LI2016-11-041-19/+17
|
* webui: Update server & client sides WebSocket handlersAaron LI2016-11-041-21/+100
| | | | | | | | | | | | * Server side: + Update the "on_message()" method to support 3 types of message requests (i.e., "configs", "console", and "results"); + Add messages stub handlers: "_handle_{configs,console,results}()"; + Reorder the methods + Client side: + Change timeout before reconnection to 3000 ms; + Parse the received JSON message to JS object;
* webui: Add "utils.py" to get the IP addressAaron LI2016-11-031-11/+13
| | | | | | | FIXME/TODO: How to determine the WebSocket origin is in the same subnet as the server? An additional network mask required to determine this. How does this additional mask passed?
* webui: Rewrite "websocket.py" with "FG21simWSHandler"Aaron LI2016-11-021-8/+79
| | | | | | NOTE: This "FG21simWSHandler" is still very preliminary, and there are a lot of necessary functions need to be implemented.
* webui: Build the Web UI using Tornado with WebSocketAaron LI2016-10-301-0/+27
Tornado: http://www.tornadoweb.org/