From 9c337e5329de5b0436182f411bdda5515237f8b5 Mon Sep 17 00:00:00 2001 From: Project Nayuki Date: Sun, 14 Jul 2019 02:49:30 +0000 Subject: [PATCH] Simplified Python worker program, mainly due to bytearray. --- python/qrcodegen-worker.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/python/qrcodegen-worker.py b/python/qrcodegen-worker.py index 421b876..b159bb6 100644 --- a/python/qrcodegen-worker.py +++ b/python/qrcodegen-worker.py @@ -26,7 +26,6 @@ # Software. # -from __future__ import print_function import sys import qrcodegen py3 = sys.version_info.major >= 3 @@ -43,7 +42,7 @@ def main(): length = read_int() if length == -1: break - data = [read_int() for _ in range(length)] + data = bytearray(read_int() for _ in range(length)) # Read encoding parameters errcorlvl = read_int() @@ -54,11 +53,9 @@ def main(): # Make segments for encoding if all((b < 128) for b in data): # Is ASCII - segs = qrcodegen.QrSegment.make_segments("".join(chr(b) for b in data)) - elif py3: - segs = [qrcodegen.QrSegment.make_bytes(bytes(data))] + segs = qrcodegen.QrSegment.make_segments(data.decode("ASCII")) else: - segs = [qrcodegen.QrSegment.make_bytes("".join(chr(b) for b in data))] + segs = [qrcodegen.QrSegment.make_bytes(data)] try: # Try to make QR Code symbol qr = qrcodegen.QrCode.encode_segments(segs, ECC_LEVELS[errcorlvl], minversion, maxversion, mask, boostecl != 0)