diff --git a/app.py b/app.py index ac52959..7082dd2 100755 --- a/app.py +++ b/app.py @@ -1,12 +1,24 @@ #!/usr/bin/env python -from flask import Flask, redirect, request, render_template, send_from_directory +from flask import Flask, redirect, request, render_template, send_from_directory, session import json +import os from os.path import join +import sqlite3 +from typing import Optional import uuid from . import db, config, scanner, calibration app = Flask(__name__) +app.config['SECRET_KEY'] = os.urandom(20).hex() + + +def get_calibration(conn: sqlite3.Connection) -> Optional[db.Calibration]: + calibration_id = session.get('calibration_id', None) + if calibration_id is None: + return None + + return db.Calibration.get_from_id(calibration_id, conn) @app.route("/") @@ -28,7 +40,7 @@ def create_object(): def object(id: int): conn = db.get() object = db.Object.get_from_id(id, conn) - return render_template('object.html', object=object) + return render_template('object.html', object=object, calibration=get_calibration(conn)) @app.route('/scan/') @@ -38,19 +50,13 @@ def scan(id: int): return render_template('object.html', object=object) -@app.route("/calibrate/") -def calibrate(id: int): +@app.route("/calibrate/") +def calibrate(): conn = db.get() - object = db.Object.get_from_id(id, conn) - if object.calibration_id is None: - with conn: - calibration = db.Calibration.create(conn) - object.calibration_id = calibration.id - object.save(conn) - else: - calibration = object.calibration(conn) - - return render_template('calibrate.html', object=object, calibration=calibration, leds=config.LEDS_UUIDS) + with conn: + calibration = db.Calibration.create(conn) + session['calibration_id'] = calibration.id + return render_template('calibrate.html', calibration=calibration) @app.route("/api/preview/") diff --git a/templates/calibrate.html b/templates/calibrate.html index f8d99ae..184c808 100644 --- a/templates/calibrate.html +++ b/templates/calibrate.html @@ -30,7 +30,7 @@ -
+ {% endif %} #} - Faire un scan + {% if calibration %} + Faire un scan + {% else %} + +
{% endblock content %} +{% block extrajs %}{% if not calibration %} + +{% endif %}{% endblock %}