mirror of
https://github.com/python-escpos/python-escpos
synced 2025-09-13 09:09:58 +00:00
start removal of six and improve type annotation (#607)
* fix unfinished Python2 -> 3 translation * remove some six usage * annotate * fix regression in Six removal * mypy: self.enf is always defined * fix return type of cups.py * Usb idVendor/idProduct are integers * self.default_args is always defined * tweak usb_args, PEP589 is better * lp.py: reassure mypy * correctly cast call to CashDrawerError() * update CUPS test * add missing close() method in metaclass * document a bug in typeshed * query_status() returns bytes as seen in constants.py * remove more SIX usage * test examples too * remove type comment where type is annotated * adapt behavior of cups printer to match other implementations --------- Co-authored-by: Patrick Kanzler <dev@pkanzler.de> Co-authored-by: Patrick Kanzler <4189642+patkan@users.noreply.github.com>
This commit is contained in:

committed by
GitHub

parent
06bdb56937
commit
66a2e78e16
@@ -84,7 +84,7 @@ class CupsPrinter(Escpos):
|
||||
return is_usable()
|
||||
|
||||
@dependency_pycups
|
||||
def __init__(self, printer_name: str = "", *args, **kwargs):
|
||||
def __init__(self, printer_name: str = "", *args, **kwargs) -> None:
|
||||
"""Class constructor for CupsPrinter.
|
||||
|
||||
:param printer_name: CUPS printer name (Optional)
|
||||
@@ -163,11 +163,10 @@ class CupsPrinter(Escpos):
|
||||
return
|
||||
logging.info("CupsPrinter printer enabled")
|
||||
|
||||
def _raw(self, msg):
|
||||
def _raw(self, msg: bytes) -> None:
|
||||
"""Append any command sent in raw format to temporary file.
|
||||
|
||||
:param msg: arbitrary code to be printed
|
||||
:type msg: bytes
|
||||
"""
|
||||
self.pending_job = True
|
||||
try:
|
||||
@@ -176,8 +175,9 @@ class CupsPrinter(Escpos):
|
||||
self.pending_job = False
|
||||
raise TypeError("Bytes required. Printer job not opened")
|
||||
|
||||
def send(self):
|
||||
def send(self) -> None:
|
||||
"""Send the print job to the printer."""
|
||||
assert self.device
|
||||
if self.pending_job:
|
||||
# Rewind tempfile
|
||||
self.tmpfile.seek(0)
|
||||
@@ -190,7 +190,7 @@ class CupsPrinter(Escpos):
|
||||
)
|
||||
self._clear()
|
||||
|
||||
def _clear(self):
|
||||
def _clear(self) -> None:
|
||||
"""Finish the print job.
|
||||
|
||||
Remove temporary file.
|
||||
@@ -198,18 +198,18 @@ class CupsPrinter(Escpos):
|
||||
self.tmpfile.close()
|
||||
self.pending_job = False
|
||||
|
||||
def _read(self):
|
||||
def _read(self) -> bytes:
|
||||
"""Return a single-item array with the accepting state of the print queue.
|
||||
|
||||
states: idle = [3], printing a job = [4], stopped = [5]
|
||||
"""
|
||||
printer = self.printers.get(self.printer_name, {})
|
||||
state = printer.get("printer-state")
|
||||
if not state:
|
||||
return []
|
||||
return [state]
|
||||
if not state or state in [4, 5]:
|
||||
return b"8" # offline
|
||||
return b"0" # online
|
||||
|
||||
def close(self):
|
||||
def close(self) -> None:
|
||||
"""Close CUPS connection.
|
||||
|
||||
Send pending job to the printer if needed.
|
||||
|
Reference in New Issue
Block a user