From e0320f8f6884a2feca866578652c1fec5011ad05 Mon Sep 17 00:00:00 2001 From: Patrick Kanzler Date: Tue, 15 Aug 2023 00:56:28 +0200 Subject: [PATCH] refine type checking --- src/escpos/escpos.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/escpos/escpos.py b/src/escpos/escpos.py index 484ddc9..50af002 100644 --- a/src/escpos/escpos.py +++ b/src/escpos/escpos.py @@ -462,7 +462,7 @@ class Escpos(object): align_ct: bool = True, function_type=None, check: bool = True, - force_software: bool = False, + force_software: Union[bool, str] = False, ) -> None: """Print barcode. @@ -546,9 +546,11 @@ class Escpos(object): raise BarcodeTypeError(f"Not supported or wrong barcode name {bc}.") if force_software or not capable["hw"] or not capable_bc["hw"]: + # based on earlier checks, we require that software mode is not None + assert capable["sw"] is not None # Select the best possible capable render mode impl = capable["sw"][0] - if force_software in capable["sw"]: + if force_software in capable["sw"] and isinstance(force_software, str): # Force to a specific mode impl = force_software print(f"Using {impl} software barcode renderer")