mirror of
				https://github.com/python-escpos/python-escpos
				synced 2025-10-23 09:30:00 +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