From da78d93fa843b76b4e16292f2d25e3b98dcfff90 Mon Sep 17 00:00:00 2001 From: "B. Howell" Date: Tue, 21 Dec 2021 23:43:39 +0100 Subject: [PATCH] soft_barcode to render directly Rendering to /dev/null by a call to .write causes an error. Calling .render directly is simpler and fixes the error. --- src/escpos/escpos.py | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/escpos/escpos.py b/src/escpos/escpos.py index c714d31..e3b218d 100644 --- a/src/escpos/escpos.py +++ b/src/escpos/escpos.py @@ -603,19 +603,16 @@ class Escpos(object): ) ) - # Render the barcode to a fake file + # Render the barcode barcode_class = barcode.get_barcode_class(barcode_type) my_code = barcode_class(data, writer=image_writer) - - with open(os.devnull, "wb") as nullfile: - my_code.write( - nullfile, - { - "module_height": module_height, - "module_width": module_width, - "text_distance": text_distance, - }, - ) + my_code.render( + writer_options={ + "module_height": module_height, + "module_width": module_width, + "text_distance": text_distance, + } + ) # Retrieve the Pillow image and print it image = my_code.writer._image