Merge branch 'master' into update-changelog

This commit is contained in:
Patrick Kanzler 2023-11-16 23:32:22 +01:00 committed by GitHub
commit a127c7b9c4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 11 deletions

View File

@ -10,7 +10,7 @@
import functools import functools
import logging import logging
from typing import Literal, Optional, Type, Union from typing import Any, Literal, Optional, Union
from ..escpos import Escpos from ..escpos import Escpos
from ..exceptions import DeviceNotFoundError from ..exceptions import DeviceNotFoundError
@ -20,9 +20,11 @@ _DEP_WIN32PRINT = False
try: try:
import pywintypes
import win32print import win32print
_DEP_WIN32PRINT = True _DEP_WIN32PRINT = True
PyPrinterHANDLE: Any = win32print.OpenPrinter
except ImportError: except ImportError:
pass pass
@ -83,7 +85,7 @@ class Win32Raw(Escpos):
self._device: Union[ self._device: Union[
Literal[False], Literal[False],
Literal[None], Literal[None],
Type[win32print.OpenPrinter], "PyPrinterHANDLE",
] = False ] = False
@property @property
@ -115,15 +117,15 @@ class Win32Raw(Escpos):
self.printer_name = self.printer_name or win32print.GetDefaultPrinter() self.printer_name = self.printer_name or win32print.GetDefaultPrinter()
assert self.printer_name in self.printers, "Incorrect printer name" assert self.printer_name in self.printers, "Incorrect printer name"
# Open device # Open device
self.device: Optional[ self.device: Optional["PyPrinterHANDLE"] = win32print.OpenPrinter(
Type[win32print.OpenPrinter] self.printer_name
] = win32print.OpenPrinter(self.printer_name) )
if self.device: if self.device:
self.current_job = win32print.StartDocPrinter( self.current_job = win32print.StartDocPrinter(
self.device, 1, (job_name, None, "RAW") self.device, 1, (job_name, "", "RAW")
) )
win32print.StartPagePrinter(self.device) win32print.StartPagePrinter(self.device)
except AssertionError as e: except (AssertionError, pywintypes.error) as e:
# Raise exception or log error and cancel # Raise exception or log error and cancel
self.device = None self.device = None
if raise_not_found: if raise_not_found:
@ -146,7 +148,7 @@ class Win32Raw(Escpos):
win32print.ClosePrinter(self._device) win32print.ClosePrinter(self._device)
self._device = False self._device = False
def _raw(self, msg): def _raw(self, msg) -> None:
"""Print any command sent in raw format. """Print any command sent in raw format.
:param msg: arbitrary code to be printed :param msg: arbitrary code to be printed

View File

@ -1,9 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""Custom types.""" """Custom types."""
from typing import Dict from typing import Dict, TypedDict
from typing_extensions import TypedDict
class ConstTxtStyleClass(TypedDict): class ConstTxtStyleClass(TypedDict):

View File

@ -57,6 +57,7 @@ deps = mypy
types-appdirs types-appdirs
types-Pillow types-Pillow
types-pyserial types-pyserial
types-pywin32>=306.0.0.6
hypothesis>=6.83 hypothesis>=6.83
jaconv jaconv
commands = mypy src test commands = mypy src test