| Commit message (Collapse) | Author | Age | Files | Lines | 
| |  | 
 | 
| |  | 
 | 
| |  | 
 | 
| | 
| 
| 
| 
|  | 
This new handler is based on the "StaticFileHandler", and will be used
to serve the simulated products for downloading.
 | 
| | 
| 
| 
| 
|  | 
The new method "_open_hpx()" is added to open the requested the HPX FITS
image using the Python subprocess.
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
The "which" GET action try to locate the given executable name/path, in
order to check whether the executable callable.
This function will be used to check the validity of the specified FITS
viewer, which opens the HPX FITS images.
 | 
| |  | 
 | 
| |  | 
 | 
| |  | 
 | 
| | 
| 
| 
|  | 
TODO: some actions currently not implemented yet
 | 
| |  | 
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
* configs.py/_set_configs(): Also return the original data if the input
  values failed the validation;
* setServerConfigs(): Success callback also reset value if the input
  value failed pass the server-side validation;
* getServerConfigs(): Return "undefined" if key does not exists.
 | 
| |  | 
 | 
| |  | 
 | 
| |  | 
 | 
| |  | 
 | 
| | 
| 
| 
| 
| 
|  | 
* Remove the authentication requirement on GET operation
* "main.js": Redirect to the login page if POST response 403 forbidden
* "main.js": Use global AJAX events handling instead of `$.ajaxSetup()`
 | 
| |  | 
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
* Rename to "ConsoleAJAXHandler"
* Change to use the request/response model, which accepts the AJAX
  request and then response.
* Update logging handler to push messages to all connected clients
* Many simplifications and rewrites.
 | 
| | 
| 
| 
|  | 
Also change the pushed messages to have "action=push" and "subtype=log"
 | 
| | 
| 
| 
| 
| 
| 
|  | 
* Add new attributes "executor" and "task_status" for "console.py"
* Define an option for the "executor"
* Rename attribute "ws_clients" to "websockets"
* Update docstring and comments
 | 
| | 
| 
| 
|  | 
See the docstring for more details.
 | 
| | 
| 
| 
| 
| 
| 
|  | 
NOTE:
By using the "tornado.options", each module can defines its own
options, which are added to the global namespace.
And the defined options can also be used by other modules.
 | 
| | 
| 
| 
| 
|  | 
The "exists" action through the GET request will check the existence of
the specified filepath (which should be an absolute path).
 | 
| |  | 
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
The handling of "configs" and "console" types of messages, will be
changed to implement using the AJAX techniques.
The basic WebSocket communication is too low-level, and there is no easy
way to relate each received message to the corresponding sent message.
There are high-level sub-protocols exists (e.g., WAMP [1]) to allow the
RPC (remote procedure call) and publish/subscribe operations, however,
the Tornado web framework current does not support them, and another
client JavaScript library is also required.
Using the more traditional AJAX techniques allow the request-response
model and sequential operations (e.g., jQuery deferred and promises) be
easily implemented.  Therefore better operation interaction and
reflection and error handling is achieved.
[1]: WAMP: Web Application Messaging Protocl, http://wamp-proto.org/
 | 
| | 
| 
| 
| 
|  | 
NOTE:
These two AJAX handlers are currently not finished!
 | 
| |  | 
 | 
| |  | 
 | 
| |  | 
 | 
| |  | 
 | 
| | 
| 
| 
|  | 
Split "ConfigsHandler" from "FG21simWSHandler" as "handlers/configs.py"
 | 
| |  | 
 | 
| |  | 
 | 
|   
  
  
  
   | 
Move the "IndexHandler" to separate module located at the "handlers/"
directory.
 |