From d59d44447c9de56b0471c1fcc967e48c39f5cb85 Mon Sep 17 00:00:00 2001 From: Patrick Kanzler Date: Mon, 14 May 2018 23:34:31 +0200 Subject: [PATCH 1/4] add os.devnull for platform independence fixes #288 --- src/escpos/escpos.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/escpos/escpos.py b/src/escpos/escpos.py index c14e44a6..22755ab4 100644 --- a/src/escpos/escpos.py +++ b/src/escpos/escpos.py @@ -24,6 +24,8 @@ import barcode from barcode.writer import ImageWriter +import os + from .constants import ESC, GS, NUL, QR_ECLEVEL_L, QR_ECLEVEL_M, QR_ECLEVEL_H, QR_ECLEVEL_Q from .constants import QR_MODEL_1, QR_MODEL_2, QR_MICRO, BARCODE_TYPES, BARCODE_HEIGHT, BARCODE_WIDTH from .constants import BARCODE_FONT_A, BARCODE_FONT_B, BARCODE_FORMATS @@ -487,11 +489,12 @@ def soft_barcode(self, barcode_type, data, impl='bitImageColumn', barcode_class = barcode.get_barcode_class(barcode_type) my_code = barcode_class(data, writer=image_writer) - my_code.write("/dev/null", { - 'module_height': module_height, - 'module_width': module_width, - 'text_distance': text_distance - }) + with open(os.devnull, "w") as nullfile: + my_code.write(nullfile, { + 'module_height': module_height, + 'module_width': module_width, + 'text_distance': text_distance + }) # Retrieve the Pillow image and print it image = my_code.writer._image From 9132e7074d0fbf053f141ed13ab3e319b418ca5e Mon Sep 17 00:00:00 2001 From: Patrick Kanzler Date: Tue, 15 May 2018 00:09:45 +0200 Subject: [PATCH 2/4] add test for soft_barcode --- test/test_function_softbarcode.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 test/test_function_softbarcode.py diff --git a/test/test_function_softbarcode.py b/test/test_function_softbarcode.py new file mode 100644 index 00000000..89c7d863 --- /dev/null +++ b/test/test_function_softbarcode.py @@ -0,0 +1,16 @@ +#!/usr/bin/python +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function +from __future__ import unicode_literals + +import escpos.printer as printer +import pytest + + +def test_soft_barcode(): + """just execute soft_barcode + """ + instance = printer.Dummy() + instance.soft_barcode("ean8", "1234") + From 3dc710b157dc4e194c34637f02ee556a367d21b9 Mon Sep 17 00:00:00 2001 From: Patrick Kanzler Date: Tue, 15 May 2018 00:25:18 +0200 Subject: [PATCH 3/4] open devnull as binary --- src/escpos/escpos.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/escpos/escpos.py b/src/escpos/escpos.py index 22755ab4..98a6e938 100644 --- a/src/escpos/escpos.py +++ b/src/escpos/escpos.py @@ -489,7 +489,7 @@ def soft_barcode(self, barcode_type, data, impl='bitImageColumn', barcode_class = barcode.get_barcode_class(barcode_type) my_code = barcode_class(data, writer=image_writer) - with open(os.devnull, "w") as nullfile: + with open(os.devnull, "wb") as nullfile: my_code.write(nullfile, { 'module_height': module_height, 'module_width': module_width, From c77390584fb5764622e6aaf8e7e9659ba2773918 Mon Sep 17 00:00:00 2001 From: Patrick Kanzler Date: Tue, 15 May 2018 00:32:58 +0200 Subject: [PATCH 4/4] add version identifier to pickle --- src/escpos/capabilities.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/escpos/capabilities.py b/src/escpos/capabilities.py index 9272c010..0cf76e12 100644 --- a/src/escpos/capabilities.py +++ b/src/escpos/capabilities.py @@ -8,12 +8,13 @@ import yaml from tempfile import gettempdir +import platform logging.basicConfig() logger = logging.getLogger(__name__) pickle_dir = environ.get('ESCPOS_CAPABILITIES_PICKLE_DIR', gettempdir()) -pickle_path = path.join(pickle_dir, 'capabilities.pickle') +pickle_path = path.join(pickle_dir, '{v}.capabilities.pickle'.format(v=platform.python_version())) capabilities_path = environ.get( 'ESCPOS_CAPABILITIES_FILE', path.join(path.dirname(__file__), 'capabilities.json'))