From fa27d647d2ad2cae92d1bbbac197426a89e6d4bb Mon Sep 17 00:00:00 2001 From: Jesse Cirimelli-Low Date: Tue, 13 Nov 2018 17:29:43 -0800 Subject: [PATCH] Flask directory upload POC, embed datasheet.info in html comment for parser reuse --- compiler/datasheet/datasheet.py | 7 +++++++ flask/client/client.py | 28 ++++++++++++++++++++++++++++ flask/client/testfile | 1 + flask/server/server.py | 15 +++++++++++++++ flask/server/templates/upload.html | 11 +++++++++++ 5 files changed, 62 insertions(+) create mode 100644 flask/client/client.py create mode 100644 flask/client/testfile create mode 100644 flask/server/server.py create mode 100644 flask/server/templates/upload.html diff --git a/compiler/datasheet/datasheet.py b/compiler/datasheet/datasheet.py index 34eaaf3b..97635c96 100644 --- a/compiler/datasheet/datasheet.py +++ b/compiler/datasheet/datasheet.py @@ -7,6 +7,7 @@ from in_out import * from hierarchy_design import total_drc_errors from hierarchy_design import total_lvs_errors import os +import csv from globals import OPTS class datasheet(): @@ -40,6 +41,12 @@ class datasheet(): DRC = 'skipped' LVS = 'skipped' PEX = 'skipped' + + with open(OPTS.openram_temp + "/datasheet.info") as info: + self.html += '' self.html += 'VLSIDAOpenRAM' diff --git a/flask/client/client.py b/flask/client/client.py new file mode 100644 index 00000000..9dcd65e6 --- /dev/null +++ b/flask/client/client.py @@ -0,0 +1,28 @@ +import requests +import os +import sys +# TODO +# copy directory structure +# relative links to not break dataseets? +# look into proper string and packet sanitization +# index gui + results graphs + +base_url = 'http://localhost:5000/' +upload_url = 'upload' + +def send_file(path): + upload_file = open(path,'rb') + data = {'file' : upload_file} + return requests.post(url = base_url + upload_url, files = data) + +def send_mkdir(path): + +def send_directory(path): + for root, directories, filenames in os.walk(path): + for filename in filenames: + upload_file = os.path.join(root,filename) + print(upload_file) + print(send_file(upload_file)) + +send_directory(sys.argv[1]) + diff --git a/flask/client/testfile b/flask/client/testfile new file mode 100644 index 00000000..9daeafb9 --- /dev/null +++ b/flask/client/testfile @@ -0,0 +1 @@ +test diff --git a/flask/server/server.py b/flask/server/server.py new file mode 100644 index 00000000..78c39128 --- /dev/null +++ b/flask/server/server.py @@ -0,0 +1,15 @@ +import os +from flask import Flask, render_template, request +from werkzeug import secure_filename +app = Flask(__name__) + +@app.route('/uploader', methods = ['GET', 'POST']) +def upload(): + if request.method == 'POST': + f = request.files['file'] + dirname = os.path.dirname(os.path.abspath(__file__)) + f.save(dirname + '/uploads/' + secure_filename(f.filename)) + return 'file uploaded successfully' + +if __name__ == '__main__': + app.run(debug = True) diff --git a/flask/server/templates/upload.html b/flask/server/templates/upload.html new file mode 100644 index 00000000..761844f6 --- /dev/null +++ b/flask/server/templates/upload.html @@ -0,0 +1,11 @@ + + + +
+ + +
+ + +