diff options
author | Adhitya Kamakshidasan | 2016-11-04 12:58:48 +0530 |
---|---|---|
committer | GitHub | 2016-11-04 12:58:48 +0530 |
commit | e56ebbef304e4837359065efe197e823404a33c9 (patch) | |
tree | 60ea0bda8304875291381ad24e8565ab0ea61dfe | |
parent | f785feb9507c6c3d4c3ee9e601957b77280b36ea (diff) | |
download | xcos-on-web-e56ebbef304e4837359065efe197e823404a33c9.tar.gz xcos-on-web-e56ebbef304e4837359065efe197e823404a33c9.tar.bz2 xcos-on-web-e56ebbef304e4837359065efe197e823404a33c9.zip |
Delete SendLog.py
-rwxr-xr-x | testing/SendLog/SendLog.py | 118 |
1 files changed, 0 insertions, 118 deletions
diff --git a/testing/SendLog/SendLog.py b/testing/SendLog/SendLog.py deleted file mode 100755 index 10c66ef..0000000 --- a/testing/SendLog/SendLog.py +++ /dev/null @@ -1,118 +0,0 @@ -## Hrishi Hiraskar -## 23 September 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__) - -# Delay time to look for new line (in s) -LOOK_DELAY = 0.1 -# States of the line -INITIALIZATION = 0 -ENDING = 1 -DATA = 2 -NOLINE = -1 -# List to store figure IDs -figure_list = [] - -class line_and_state: - # Class to store the line and its state - def __init__(self, line, state): - self.line = None - self.state = NOLINE - def set(self, line_state): - self.line = line_state[0] - self.state = line_state[1] - return False - def get_line(self): - return self.line - def get_state(self): - return self.state - -def parse_line(line): - # Function to parse the line - # Returns tuple of figure ID and state - # state = INITIALIZATION if new figure is created - # ENDING if current fig end - # DATA otherwise - line_words = line.split(' ') - if line_words[0] == "Initialization": - # New figure created - # Get fig id - figure_id = int(line_words[-1]) - return (figure_id, INITIALIZATION) - elif line_words[0] == "Ending": - # Current figure end - # Get fig id - figure_id = int(line_words[-1]) - return (figure_id, ENDING) - else: - # Current figure coordinates - figure_id = int(line_words[2]) - return (figure_id, DATA) - -def get_line_and_state(file): - # Function to get a new line from file - # This also parses the line and appends new figures to figure List - global figure_list - line = file.readline() - if not line: - return (None, NOLINE) - parse_result = parse_line(line) - figure_id = parse_result[0] - state = parse_result[1] - if state == INITIALIZATION: - # New figure created - # Add figure ID to list - figure_list.append(figure_id) - return (None, INITIALIZATION) - elif state == ENDING: - # End of figure - # Remove figure ID from list - figure_list.remove(figure_id) - return (None, ENDING) - return (line, DATA) - -def event_stream(): - global figure_list - # Log file directory - log_dir = "../../bin/" - # Log file name - log_name = "scilab-log-0.txt" - # Open the log file - log_file = open(log_dir + log_name, "r") - # Seek the file pointer to the end of file - # 0 signifies the displacement index relative to given position and - # 2 signifies the position (here, end of file; 0 is for start of file and 1 is for current position) - # Refer https://www.tutorialspoint.com/python/file_seek.htm for more - log_file.seek(0,2) - # Start sending log - line = line_and_state(None, NOLINE) - while line.set(get_line_and_state(log_file)) or (line.get_state() != ENDING or len(figure_list) > 0): - # Get the line and loop until the state is ENDING and figure_list empty - if line.get_state() != DATA: - gevent.sleep(LOOK_DELAY) - else: - yield "event: log\ndata: "+line.get_line()+"\n\n"; - # Finished Sending Log - yield "event: DONE\ndata: None\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:8001/ - http_server = WSGIServer(('127.0.0.1', 8001), app) - http_server.serve_forever() |