From c59a4c9e5022d8394ba147a19486c668381353de Mon Sep 17 00:00:00 2001 From: Ben Mares Date: Sun, 28 Apr 2024 16:24:30 +0200 Subject: [PATCH] Enable listing of devices without list-devices subcommand --- src/labelle/cli/cli.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/labelle/cli/cli.py b/src/labelle/cli/cli.py index 0ab34132..e339e27c 100755 --- a/src/labelle/cli/cli.py +++ b/src/labelle/cli/cli.py @@ -88,10 +88,6 @@ def get_device_manager() -> DeviceManager: return device_manager -app = typer.Typer() - - -@app.command(hidden=True) def list_devices() -> NoReturn: device_manager = get_device_manager() console = Console() @@ -105,6 +101,9 @@ def list_devices() -> NoReturn: raise typer.Exit() +app = typer.Typer() + + @app.callback(invoke_without_command=True) def default( ctx: typer.Context, @@ -123,7 +122,8 @@ def default( "--device", help=( "Select a particular device by filtering for a given substring " - "in the device's manufacturer, product or serial number" + "in the device's manufacturer, product or serial number. " + 'Use "--device list" to list all available devices.' ), rich_help_panel="Device Configuration", ), @@ -378,6 +378,9 @@ def default( # Neither --verbose flag nor the environment variable is set. set_not_verbose() + if device_pattern == ["list"]: + list_devices() + # Raise informative errors with old dymoprint arguments if preview: raise typer.BadParameter(