From 772cff67fd3b491d015ba89601a0a098c69edd69 Mon Sep 17 00:00:00 2001 From: Matt Strapp Date: Thu, 27 Jan 2022 15:29:31 -0600 Subject: Add code that was not committed before --- PI.PI.old.py | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 PI.PI.old.py (limited to 'PI.PI.old.py') diff --git a/PI.PI.old.py b/PI.PI.old.py new file mode 100644 index 0000000..52e16ab --- /dev/null +++ b/PI.PI.old.py @@ -0,0 +1,64 @@ +#handle a POST request +from flask import Flask, render_template, request, url_for, jsonify +import subprocess +import os +import RPi.GPIO as GPIO +app = Flask(__name__) + +UPLOAD_DESTINATION = "Uploads/ee4951W_pendulum_web/app/app/FileProcessing/Uploads" +SYSTEM_DESTINATION = "System/" +RESULTS_DESTINATION = "Uploads/ee4951W_pendulum_web/app/app/FileProcessing/Results" + +INITIALIZE_SYSTEM = "initialize_system.py" + +@app.route('/') +def home(): + return "ANDI'S PIE" + +@app.route('/tests/endpoint', methods=['POST']) +def my_test_endpoint(): + # Receive post + input_json = request.get_json(force=True) + + # Put file content into a file caled upload.py + filename=input_json['filename'].encode("ascii") + file_content=input_json['file_content'].encode("ascii") + filename=input_json['filename'] + file_content=input_json['file_content'] + upload = open(UPLOAD_DESTINATION + filename, "w+") + upload.write(file_content) + upload.close() + + # Run python script + process = subprocess.Popen(["python3", UPLOAD_DESTINATION + filename]) + try: + process.wait() + print("Program exited normally!\n") + except: + print("Exception occurred running program!\n") + process.terminate() + finally: + GPIO.cleanup() + + # Get results file + results_filename = filename.split(".")[0] + results_filename = results_filename + "_results.csv" + with open(RESULTS_DESTINATION + results_filename, 'r') as results: + results_content = results.read() + results.close() + + # Remove test file and results file now that were done with them + os.remove(UPLOAD_DESTINATION + filename) + os.remove(RESULTS_DESTINATION + results_filename) + + # Return results file content + dictToReturn = {'results_filename':results_filename, 'results_content':results_content} + return jsonify(dictToReturn) + +# This will run on system bootup. +if __name__ == '__main__': + os.chdir('/home/pi/pendulum') + # Initialize the system before accepting any files. + subprocess.call(["python3", SYSTEM_DESTINATION + INITIALIZE_SYSTEM]) + # Run the web client to start receiving files. + app.run(host="192.168.1.10", port=8000) -- cgit v1.2.3