mirror of
https://github.com/python-escpos/python-escpos
synced 2025-09-13 09:09:58 +00:00
Separate method open() and constructor, enhance consistency between connectors. (#584)
* Add self-open mechanism * self-open mechanism through the 'device' property * Separate open() and store connection in 'device' * Restore device status to False on close() * Add default value to all params + type annotations * Add generic DeviceNotFoundError exception * Update USBNotFoundError return code * Enhance connectors consistency * Fix LP printer stall * Fix LP waste of paper due to auto-flush + flush on close * Move platform dependent printers' guard to init --------- Co-authored-by: Patrick Kanzler <4189642+patkan@users.noreply.github.com>
This commit is contained in:
@@ -13,7 +13,8 @@ Result/Exit codes:
|
||||
- `60` = Invalid pin to send Cash Drawer pulse :py:exc:`~escpos.exceptions.CashDrawerError`
|
||||
- `70` = Invalid number of tab positions :py:exc:`~escpos.exceptions.TabPosError`
|
||||
- `80` = Invalid char code :py:exc:`~escpos.exceptions.CharCodeError`
|
||||
- `90` = USB device not found :py:exc:`~escpos.exceptions.USBNotFoundError`
|
||||
- `90` = Device not found :py:exc:`~escpos.exceptions.DeviceNotFoundError`
|
||||
- `91` = USB device not found :py:exc:`~escpos.exceptions.USBNotFoundError`
|
||||
- `100` = Set variable out of range :py:exc:`~escpos.exceptions.SetVariableError`
|
||||
- `200` = Configuration not found :py:exc:`~escpos.exceptions.ConfigNotFoundError`
|
||||
- `210` = Configuration syntax error :py:exc:`~escpos.exceptions.ConfigSyntaxError`
|
||||
@@ -275,11 +276,35 @@ class CharCodeError(Error):
|
||||
return "Valid char code must be set ({msg})".format(msg=self.msg)
|
||||
|
||||
|
||||
class USBNotFoundError(Error):
|
||||
"""Device was not found (probably not plugged in).
|
||||
class DeviceNotFoundError(Error):
|
||||
"""Device was not found.
|
||||
|
||||
The device seems to be not accessible.
|
||||
The return code for this exception is `90`.
|
||||
|
||||
inheritance:
|
||||
|
||||
.. inheritance-diagram:: escpos.exceptions.Error
|
||||
:parts: 1
|
||||
|
||||
"""
|
||||
|
||||
def __init__(self, msg=""):
|
||||
"""Initialize DeviceNotFoundError object."""
|
||||
Error.__init__(self, msg)
|
||||
self.msg = msg
|
||||
self.resultcode = 90
|
||||
|
||||
def __str__(self):
|
||||
"""Return string representation of DeviceNotFoundError."""
|
||||
return f"Device not found ({self.msg})"
|
||||
|
||||
|
||||
class USBNotFoundError(DeviceNotFoundError):
|
||||
"""USB device was not found (probably not plugged in).
|
||||
|
||||
The USB device seems to be not plugged in.
|
||||
The return code for this exception is `90`.
|
||||
The return code for this exception is `91`.
|
||||
|
||||
inheritance:
|
||||
|
||||
@@ -292,11 +317,11 @@ class USBNotFoundError(Error):
|
||||
"""Initialize USBNotFoundError object."""
|
||||
Error.__init__(self, msg)
|
||||
self.msg = msg
|
||||
self.resultcode = 90
|
||||
self.resultcode = 91
|
||||
|
||||
def __str__(self):
|
||||
"""Return string representation of USBNotFoundError."""
|
||||
return "USB device not found ({msg})".format(msg=self.msg)
|
||||
return f"USB device not found ({self.msg})"
|
||||
|
||||
|
||||
class SetVariableError(Error):
|
||||
|
Reference in New Issue
Block a user