from app import app from flask import request, redirect, url_for, send_from_directory, render_template import subprocess import redis import random import json import os import json import re #https://medium.com/@emerico/convert-pdf-to-image-using-python-flask-2864fb655e01 #UPLOAD_FOLDER = '/Users/beatescheibel/Desktop/flask/uploads' UPLOAD_FOLDER = '/home/bscheibel/uploads_app' app.config["UPLOAD_FOLDER"] = UPLOAD_FOLDER ALLOWED_EXTENSIONS = set(['pdf', 'png', 'jpg', 'jpeg', 'PDF']) def allowed_file(filename): return '.' in filename and \ filename.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS def convert_pdf_img(filename): PDFFILE = UPLOAD_FOLDER +"/" + filename subprocess.call(['pdftoppm', '-jpeg', '-singlefile', PDFFILE, '/home/bscheibel/uploads_app/out']) def extract_all(uuid, filename, db): #order_bounding_boxes_in_each_block.main(uuid, UPLOAD_FOLDER + "/" + filename) subprocess.call(['python3','/home/bscheibel/PycharmProjects/dxf_reader/main.py', str(uuid),UPLOAD_FOLDER + "/" + filename, db, str(1)]) @app.route('/', methods=['GET', 'POST']) def upload_file(): if request.method == 'POST': file = request.files['file'] if file and allowed_file(file.filename): filename = file.filename file.save(os.path.join(app.config["UPLOAD_FOLDER"], filename)) uuid = random.randint(100,10000000) extract_all(uuid, filename, 'localhost') return redirect(url_for('uploaded_file', filename=filename, uuid=uuid)) return ''' Upload new File

Upload new File

''' @app.route('/show/&') def uploaded_file(filename, uuid): file_out = "out.jpg" if request.method == 'POST': uuid = 433 if filename.endswith(".pdf") or filename.endswith(".PDF"): convert_pdf_img(filename) db = redis.Redis("localhost") #isos = db.get(uuid+"dims") #print(iso) isos = json.loads(db.get(str(uuid)+"isos")) dims = json.loads(db.get(str(uuid)+"dims")) html_code = "" reg = r"(-?\d{1,}\.?\d*)" for dim in dims: html_code += '''

''' + dim + '''

''' for d in dims[dim]: number = re.search(reg, d) number = number.group(1) coords = ",".join(str(e) for e in dims[dim][d]) html_code += " " + \ "" + d + "" + \ " " #print(html_code) return render_template('show_image.html', filename=file_out, isos=isos, dims=dims, text=html_code) else: filename = filename return render_template('show_image.html', filename=filename) @app.route('/uploads/') def send_file(filename): return send_from_directory(UPLOAD_FOLDER, filename) # No caching at all for API endpoints. @app.after_request def add_header(response): # response.cache_control.no_store = True response.headers['Cache-Control'] = 'no-store, no-cache, must-revalidate, post-check=0, pre-check=0, max-age=0' response.headers['Pragma'] = 'no-cache' response.headers['Expires'] = '-1' return response @app.route('/generate/') def generate(name): name = name.replace(" ","") url = name+".PDF" try: file = send_from_directory("static/isos",url) return file except: return"Sorry file not found" """@app.route('/show_results') def form_post(): text = [] db = redis.Redis('localhost') for key in request.form: db.set(key, request.form[key]) return render_template('display_results.html'"""