From 4e371da9e28699b84a36b7762dddd0eca39bb066 Mon Sep 17 00:00:00 2001 From: missionfloyd Date: Thu, 8 Jun 2023 21:44:40 -0600 Subject: [PATCH] Fallback to full size if data doesn't fit in micro QR code --- scripts/qrcode.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/qrcode.py b/scripts/qrcode.py index 95506b7..702c7dd 100644 --- a/scripts/qrcode.py +++ b/scripts/qrcode.py @@ -25,8 +25,11 @@ def generate(selected_tab, keys, *values): data = f'geo:{args["geo_latitude"]},{args["geo_longitude"]}' else: 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() qrcode.save(out, kind='png', scale=args["scale"], border=args["border"], dark=args["dark"], light=args["light"]) return Image.open(out)