import qrcode import os from io import BytesIO from flask import Flask, send_file, request, render_template_string, render_template app = Flask(__name__) def load(file): path = os.path.dirname(os.path.realpath(__file__)) with open(f"{path}/webpage/{file}") as f: return f.read() @app.route('/', methods=['GET', 'POST']) def index(): if request.method == 'POST': qrtype = request.form.get('type') elif request.method == 'GET': qrtype = request.args.get('type') else: qrtype = "LINK" if qrtype == "LINK": form = f"""

Enter Url:



""" elif qrtype == "MAIL": form = f"""

Enter Email:



""" elif qrtype == "WIFI": form = f"""

Enter Wifi Name:

Enter Wifi Password (if aplicable):



""" else: form = f"""

Enter Telephone:



""" if request.method == 'POST': qrtype = request.form.get('type') elif request.method == 'GET': qrtype = request.args.get('type') codeimg = "

fill out info to generate qr code

" if qrtype and request.args.get('link') != None: print(qrtype) try: if qrtype == "LINK": codeimg = f'' elif qrtype == "EMAIL": codeimg = f'' elif qrtype == "TEL": codeimg = f'' elif qrtype == "WIFI": codeimg = f'' except: print("nocontent") codeimg = "

fill out info to generate qr code

" else: codeimg = "

fill out info to generate qr code

" print(codeimg) return render_template("home.html", form=form, codeimg=codeimg) @app.route('/qrcode', methods=['GET', 'POST']) def generate_qrcode(): if request.method == 'POST': link = request.form.get('link') else: link = request.args.get('link') if not link: return "No link provided", 400 qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4, ) qr.add_data(link) qr.make(fit=True) img = qr.make_image(fill_color="black", back_color="white") buffered = BytesIO() img.save(buffered, format="PNG") buffered.seek(0) return send_file(buffered, mimetype='image/png') if __name__ == "__main__": app.run(host='0.0.0.0', port=8060, debug=True)