1
0
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:
Alexandre Detiste
2023-12-16 22:02:24 +01:00
committed by GitHub
parent 06bdb56937
commit 66a2e78e16
31 changed files with 245 additions and 237 deletions

View File

@@ -10,12 +10,12 @@ This module contains the image format handler :py:class:`EscposImage`.
import math
from typing import Union
from typing import Iterator, Union
from PIL import Image, ImageOps
class EscposImage(object):
class EscposImage:
"""
Load images in, and output ESC/POS formats.
@@ -23,7 +23,7 @@ class EscposImage(object):
PIL, rather than spend CPU cycles looping over pixels.
"""
def __init__(self, img_source: Union[Image.Image, str]):
def __init__(self, img_source: Union[Image.Image, str]) -> None:
"""Load in an image.
:param img_source: PIL.Image, or filename to load one from.
@@ -65,7 +65,7 @@ class EscposImage(object):
_, height_pixels = self._im.size
return height_pixels
def to_column_format(self, high_density_vertical: bool = True):
def to_column_format(self, high_density_vertical: bool = True) -> Iterator[bytes]:
"""Extract slices of an image as equal-sized blobs of column-format data.
:param high_density_vertical: Printed line height in dots
@@ -82,7 +82,7 @@ class EscposImage(object):
yield (im_bytes)
left += line_height
def to_raster_format(self):
def to_raster_format(self) -> bytes:
"""Convert image to raster-format binary."""
return self._im.tobytes()