41 lines
1.3 KiB
Python
Executable File
41 lines
1.3 KiB
Python
Executable File
#!/usr/bin/python3
|
|
|
|
from flask import Flask, render_template, flash, request
|
|
from flask_wtf import FlaskForm
|
|
from wtforms import Form, BooleanField, SubmitField, TextField
|
|
from wtforms.validators import DataRequired
|
|
import os
|
|
|
|
DEBUG = False
|
|
app = Flask(__name__)
|
|
app.config.from_object(__name__)
|
|
app.config['SECRET_KEY'] = os.urandom(40)
|
|
|
|
class QRForm(FlaskForm):
|
|
user_data = TextField("Dane:", validators=[DataRequired()])
|
|
# setting default here doesn't work, so we cannot retain checkbox state over POST
|
|
# we force trim_spaced to be checked in the template
|
|
# see https://github.com/wtforms/flask-wtf/issues/489 https://github.com/wtforms/flask-wtf/issues/362
|
|
# https://github.com/wtforms/flask-wtf/issues/464
|
|
trim_spaces = BooleanField("Usuń spacje")
|
|
submit = SubmitField("Generuj")
|
|
|
|
@app.route("/", methods=["GET", "POST"])
|
|
def main():
|
|
form = QRForm(request.form)
|
|
|
|
if request.method == "POST":
|
|
data = request.form["user_data"]
|
|
if "trim_spaces" in request.form and request.form["trim_spaces"] == "y":
|
|
data = data.replace(" ", "")
|
|
else:
|
|
# not POST? get back to ourselves
|
|
data = request.url_root
|
|
|
|
return render_template("main.html", form=form, data=data, genurl="/render/")
|
|
|
|
if __name__ == "__main__":
|
|
app.run(host='::')
|
|
|
|
|