File tree Expand file tree Collapse file tree 2 files changed +19
-11
lines changed Expand file tree Collapse file tree 2 files changed +19
-11
lines changed Original file line number Diff line number Diff line change 2828 Justify ,
2929 e_qrcode ,
3030)
31- from labelle .lib .devices .device_manager import DeviceManager , DeviceManagerError
31+ from labelle .lib .devices .device_manager import DeviceManager , DeviceManagerNoDevices
3232from labelle .lib .devices .dymo_labeler import DymoLabeler
3333from labelle .lib .env_config import is_verbose_env_vars
3434from labelle .lib .font_config import NoFontFound , get_available_fonts , get_font_path
@@ -89,18 +89,23 @@ def qr_callback(qr_content: str) -> str:
8989 return qr_content
9090
9191
92- app = typer .Typer ()
93-
94-
95- @app .command ()
96- def list_devices ():
92+ def get_device_manager () -> DeviceManager :
9793 device_manager = DeviceManager ()
9894 try :
9995 device_manager .scan ()
100- except DeviceManagerError as e :
101- typer .echo (e )
96+ except DeviceManagerNoDevices as e :
97+ err_console = Console (stderr = True )
98+ err_console .print (f"Error: { e } " )
10299 raise typer .Exit () from e
100+ return device_manager
101+
103102
103+ app = typer .Typer ()
104+
105+
106+ @app .command ()
107+ def list_devices ():
108+ device_manager = get_device_manager ()
104109 console = Console ()
105110 table = Table (show_header = True )
106111 table .add_column ("Manufacturer" )
@@ -296,8 +301,7 @@ def default(
296301 )
297302
298303 if output == Output .printer :
299- device_manager = DeviceManager ()
300- device_manager .scan ()
304+ device_manager = get_device_manager ()
301305 device = device_manager .find_and_select_device (patterns = device_pattern )
302306 device .setup ()
303307 else :
Original file line number Diff line number Diff line change @@ -18,6 +18,10 @@ class DeviceManagerError(RuntimeError):
1818 pass
1919
2020
21+ class DeviceManagerNoDevices (DeviceManagerError ):
22+ pass
23+
24+
2125class DeviceManager :
2226 _devices : dict [str , UsbDevice ]
2327
@@ -33,7 +37,7 @@ def scan(self) -> bool:
3337 raise DeviceManagerError (f"Failed scanning devices: { e } " ) from e
3438 if len (cur ) == 0 :
3539 self ._devices .clear ()
36- raise DeviceManagerError ("No supported devices found" )
40+ raise DeviceManagerNoDevices ("No supported devices found" )
3741
3842 prev_set = set (prev )
3943 cur_set = set (cur )
You can’t perform that action at this time.
0 commit comments