# Importing library import qrcode import random import io from Server.DB.handler import QR from Server.DB.handler import session import configparser config = configparser.ConfigParser() config.sections() config.read('Options.ini') def randint(min,max): a = random.randint(min,max) return a def generate_QR_Code(): if config['SETTINGS']['lockqrcode_whit_secret'] == 'True': for desk in range(int(config['DEFAULT']['max_desks'])): img_byte_arr = io.BytesIO() secret = random.randint(1,9999999) data = config['DEFAULT']['host'] + '/order_get?desk='+str(desk)+'&secret='+str(secret) qr_img = qrcode.make(data) qr_img.save(img_byte_arr, format='PNG') img_byte_arr = img_byte_arr.getvalue() qr = QR(desk,img_byte_arr, qr_secret=secret) existing_qr = session.query(QR).filter_by(desk=desk).first() if existing_qr: existing_qr.qr_img = img_byte_arr # Update existing row existing_qr.qr_secret = secret else: session.add(qr) # Insert new row session.commit() else: #no Optional features for desk in range(int(config['DEFAULT']['max_desks'])): img_byte_arr = io.BytesIO() data = config['DEFAULT']['host'] + '/order_get?desk='+str(desk) qr_img = qrcode.make(data) qr_img.save(img_byte_arr, format='PNG') img_byte_arr = img_byte_arr.getvalue() qr = QR(desk,img_byte_arr) existing_qr = session.query(QR).filter_by(desk=desk).first() if existing_qr: existing_qr.qr_img = img_byte_arr # Update existing row existing_qr.qr_secret = 0 else: session.add(qr) # Insert new row session.commit() # Encoding data using make() function # Saving as an image file