Merge branch 'master' of git.elab.kth.se:davide/ELAB-partsearch

master
Davide Bongiovanni 6 years ago
commit 047fafcb74

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 688 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

@ -6,7 +6,9 @@ from functools import wraps
from sqlalchemy.sql import select from sqlalchemy.sql import select
from sqlalchemy.sql import text from sqlalchemy.sql import text
from flask import Flask from flask import Flask
from flask import render_template, send_from_directory, request, Response from flask import render_template, send_from_directory, request, Response, send_file
from PIL import Image, ImageDraw
from io import BytesIO
from werkzeug.utils import secure_filename from werkzeug.utils import secure_filename
import pprint import pprint
@ -38,6 +40,12 @@ def requires_auth(f):
return f(*args, **kwargs) return f(*args, **kwargs)
return decorated return decorated
def serveImage(img):
img_io = BytesIO()
img.save(img_io, 'PNG')
img_io.seek(0)
return send_file(img_io, mimetype='image/png')
@app.route('/parts') @app.route('/parts')
def index(): def index():
return render_template('partsearch.html') return render_template('partsearch.html')
@ -96,6 +104,21 @@ def query(filter_dummy, query):
r.close() r.close()
return json.dumps(l) return json.dumps(l)
@app.route('/parts/map/<mapurl>')
def getMap(mapurl):
try:
mapimage = Image.open('maps/' + mapurl)
except FileNotFoundError:
return serveImage(Image.open("maps/404.png"))
if request.args.get('x') is not None and request.args.get('y') is not None:
x = int(request.args.get('x'))
y = int(request.args.get('y'))
pointer = Image.open('maps/here.png')
width, height = pointer.size
mapimage.paste(pointer, (x - int(width/2), y-int(height/2)), pointer)
return serveImage(mapimage)
@app.route('/parts/getfile/<filename>') @app.route('/parts/getfile/<filename>')
def getfile(filename): def getfile(filename):
if(re.match('^[\w\-_]+$', filename) == None): if(re.match('^[\w\-_]+$', filename) == None):

Loading…
Cancel
Save