mirror of
https://github.com/python-escpos/python-escpos
synced 2025-09-13 09:09:58 +00:00
Added the DLE EOT querying command. (#237)
* Added the DLE EOT querying command. Added a function to check whether the printer is online or not, as well as a reading method for USB printers. * Update AUTHORS * Add entry to .mailmap * currently USB only
This commit is contained in:
@@ -18,6 +18,7 @@ from __future__ import unicode_literals
|
||||
import qrcode
|
||||
import textwrap
|
||||
import six
|
||||
import time
|
||||
|
||||
import barcode
|
||||
from barcode.writer import ImageWriter
|
||||
@@ -34,6 +35,7 @@ from .constants import CD_KICK_DEC_SEQUENCE, CD_KICK_5, CD_KICK_2, PAPER_FULL_CU
|
||||
from .constants import HW_RESET, HW_SELECT, HW_INIT
|
||||
from .constants import CTL_VT, CTL_HT, CTL_CR, CTL_FF, CTL_LF, CTL_SET_HT, PANEL_BUTTON_OFF, PANEL_BUTTON_ON
|
||||
from .constants import TXT_STYLE
|
||||
from .constants import RT_STATUS_ONLINE, RT_MASK_ONLINE
|
||||
|
||||
from .exceptions import BarcodeTypeError, BarcodeSizeError, TabPosError
|
||||
from .exceptions import CashDrawerError, SetVariableError, BarcodeCodeError
|
||||
@@ -77,6 +79,12 @@ class Escpos(object):
|
||||
"""
|
||||
pass
|
||||
|
||||
def _read(self, msg):
|
||||
""" Returns a NotImplementedError if the instance of the class doesn't override this method.
|
||||
:raises NotImplementedError
|
||||
"""
|
||||
raise NotImplementedError()
|
||||
|
||||
def image(self, img_source, high_density_vertical=True, high_density_horizontal=True, impl="bitImageRaster",
|
||||
fragment_height=960):
|
||||
""" Print an image
|
||||
@@ -733,6 +741,20 @@ class Escpos(object):
|
||||
else:
|
||||
self._raw(PANEL_BUTTON_OFF)
|
||||
|
||||
def query_status(self):
|
||||
""" Queries the printer for its status, and returns an array of integers containing it.
|
||||
:rtype: array(integer)"""
|
||||
self._raw(RT_STATUS_ONLINE)
|
||||
time.sleep(1)
|
||||
status = self._read()
|
||||
return status or [RT_MASK_ONLINE]
|
||||
|
||||
def is_online(self):
|
||||
""" Queries the printer its online status.
|
||||
When online, returns True; False otherwise.
|
||||
:rtype: bool: True if online, False if offline."""
|
||||
return not (self.query_status()[0] & RT_MASK_ONLINE)
|
||||
|
||||
|
||||
class EscposIO(object):
|
||||
"""ESC/POS Printer IO object
|
||||
|
Reference in New Issue
Block a user