diff options
author | Hrishi Hiraskar | 2016-08-31 22:41:25 +0530 |
---|---|---|
committer | Hrishi Hiraskar | 2016-08-31 22:41:25 +0530 |
commit | ffda6d1b4730686f4a2be7baf316c05235a99b3e (patch) | |
tree | fec3044033bfe06489938bbf2ce26e49e0432260 /testing/SendLog | |
parent | 3abaab9cf325ae5ed5f7da7bf64b287b8e172202 (diff) | |
download | xcos-on-web-ffda6d1b4730686f4a2be7baf316c05235a99b3e.tar.gz xcos-on-web-ffda6d1b4730686f4a2be7baf316c05235a99b3e.tar.bz2 xcos-on-web-ffda6d1b4730686f4a2be7baf316c05235a99b3e.zip |
Added SendLog python server
Diffstat (limited to 'testing/SendLog')
-rwxr-xr-x | testing/SendLog/SendLog.py | 46 | ||||
-rwxr-xr-x | testing/SendLog/templates/index.html | 33 |
2 files changed, 79 insertions, 0 deletions
diff --git a/testing/SendLog/SendLog.py b/testing/SendLog/SendLog.py new file mode 100755 index 0000000..ab7930d --- /dev/null +++ b/testing/SendLog/SendLog.py @@ -0,0 +1,46 @@ +## Hrishi Hiraskar +## 31 August 2016 + +import gevent +import time +from gevent import monkey +from gevent.pywsgi import WSGIServer +from flask import Flask, request, Response, render_template + +monkey.patch_all() + +app = Flask(__name__) + +def event_stream(): + # Open the log file + log_dir = "../../bin/" # Log file directory + log_name = "scilab-log-0.txt" # Log file name + logfile = open(log_dir + log_name, "r") + # Seek file pointer to the end of file + logfile.seek(0,2) + # Start sending log + LOOK_DELAY = 0.01 # Delay time to look for new line (in s) + while 1: + line = logfile.readline() + if not line: + # If no new line is found + # Wait for some time and continue + gevent.sleep(LOOK_DELAY) + continue + print(line) + yield "event: log\ndata: "+" "+line+"\n\n"; + +@app.route('/SendLog') +def sse_request(): + # Set response method to event-stream + return Response(event_stream(), mimetype='text/event-stream') + +@app.route('/') +def page(): + return render_template('index.html') + +if __name__ == '__main__': + # Set server address 127.0.0.1:8080/ + http_server = WSGIServer(('127.0.0.1', 8001), app) + http_server.serve_forever() + diff --git a/testing/SendLog/templates/index.html b/testing/SendLog/templates/index.html new file mode 100755 index 0000000..5eb7bab --- /dev/null +++ b/testing/SendLog/templates/index.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<!-- +Hrishi Hiraskar +31 August 2016 +--> +<!DOCTYPE HTML> +<html> + <head><title>Send Time</title></head> +<body onload="get_data()"> + + <h3>Data from scilab-log-0.txt</h2> + <span id="foo"></span> + + <script type="text/javascript"> + var eventSource; + + function get_data(){ + eventSource = new EventSource('/SendLog'); + // Start listening to server + eventSource.addEventListener("log", function(event){ + document.getElementById('foo').innerHTML += event.data + "<br/>"; + // Scroll to bottom of page + window.scrollTo(0, document.body.scrollHeight); + }, false); + // Stop listening + eventSource.addEventListener("DONE", function(event){ + eventSource.close(); // Close connection + }, false); + } + + </script> +</body> +</html> |