import os from flask import Flask, render_template, request from flask_qrcode import QRcode from utils import Database app = Flask(__name__) QRcode(app) def db_config(): return { 'database': os.environ['SPACELOCK_DB_NAME'], 'user': os.environ['SPACELOCK_DB_USER'], 'password': os.environ['SPACELOCK_DB_PASS'], 'host': os.environ.get('SPACELOCK_DB_HOST') or 'localhost', 'port': int(os.environ.get('SPACELOCK_DB_PORT') or 5432) } def gen_token(key): with Database(db_config()) as db: db.execute('SELECT gen_token(%s)', (key,)) return db.fetchone()[0] @app.route('/', methods=['GET', 'POST']) def index(): if request.method == 'POST': token = gen_token(request.form['secret_key']) print(token) if token is None: return render_template('error.html', error='DENIED!!!') return render_template('access.html', token=token) else: return render_template('index.html')