Fallback to full size if data doesn't fit in micro QR code

live-update
missionfloyd 2023-06-08 21:44:40 -06:00
parent ea8a2b5ebc
commit 4e371da9e2
1 changed files with 5 additions and 2 deletions

View File

@ -26,7 +26,10 @@ def generate(selected_tab, keys, *values):
else: else:
data = args["text"] data = args["text"]
qrcode = segno.make(data, micro=args["micro"], error=args["error"], boost_error=args["boost_error"]) try:
qrcode = segno.make(data, micro=args["micro"], error=args["error"], boost_error=args["boost_error"])
except segno.encoder.DataOverflowError:
qrcode = segno.make(data, micro=False, error=args["error"], boost_error=args["boost_error"])
out = io.BytesIO() out = io.BytesIO()
qrcode.save(out, kind='png', scale=args["scale"], border=args["border"], dark=args["dark"], light=args["light"]) qrcode.save(out, kind='png', scale=args["scale"], border=args["border"], dark=args["dark"], light=args["light"])
return Image.open(out) return Image.open(out)