From bf95fa1f56b25bd52f986b2baf1ea9502571c6af Mon Sep 17 00:00:00 2001 From: belono Date: Fri, 4 Aug 2023 12:14:09 +0200 Subject: [PATCH] Add self-open mechanism --- src/escpos/escpos.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/escpos/escpos.py b/src/escpos/escpos.py index 8f5a37c..a679510 100644 --- a/src/escpos/escpos.py +++ b/src/escpos/escpos.py @@ -114,7 +114,7 @@ class Escpos(object): class. """ - device = None + _device = False def __init__(self, profile=None, magic_encode_args=None, **kwargs) -> None: """Initialize ESCPOS Printer. @@ -128,6 +128,22 @@ class Escpos(object): """Call self.close upon deletion.""" self.close() + @property + def device(self): + """Implements a self-open mechanism.""" + if self._device is False: + # Open device if not previously opened + self.open() + return self._device + + @device.setter + def device(self, new_device): + self._device = new_device + + def open(self): + """Open a printer device/connection.""" + pass + @abstractmethod def _raw(self, msg: bytes) -> None: """Send raw data to the printer.