summaryrefslogtreecommitdiff
path: root/testing/SendLog
diff options
context:
space:
mode:
authorHrishi Hiraskar2016-08-31 22:41:25 +0530
committerHrishi Hiraskar2016-08-31 22:41:25 +0530
commitffda6d1b4730686f4a2be7baf316c05235a99b3e (patch)
treefec3044033bfe06489938bbf2ce26e49e0432260 /testing/SendLog
parent3abaab9cf325ae5ed5f7da7bf64b287b8e172202 (diff)
downloadxcos-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-xtesting/SendLog/SendLog.py46
-rwxr-xr-xtesting/SendLog/templates/index.html33
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>