Skip to content

Commit

Permalink
Add --list-devices option
Browse files Browse the repository at this point in the history
❯ labelle --list-devices
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Manufacturer ┃ Product               ┃ Serial Number  ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ DYMO         │ DYMO LabelManager 280 │ 05001201012002 │
│ DYMO         │ DYMO LabelWriter 550  │ 04121002436300 │
│ Dymo         │ DYMO LabelManager PnP │ 15262626032018 │
└──────────────┴───────────────────────┴────────────────┘
  • Loading branch information
Tomer Shalev committed Apr 25, 2024
1 parent 91d72b1 commit 247818b
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions src/labelle/cli/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@

import typer
from PIL import Image, ImageOps
from rich.console import Console
from rich.table import Table
from typing_extensions import Annotated

from labelle import __version__
Expand Down Expand Up @@ -88,6 +90,21 @@ def qr_callback(qr_content: str) -> str:
return qr_content


def list_devices_callback():
device_manager = DeviceManager()
device_manager.scan()

console = Console()
table = Table(show_header=True)
table.add_column("Manufacturer")
table.add_column("Product")
table.add_column("Serial Number")
for device in device_manager.devices:
table.add_row(device.manufacturer, device.product, device.serial_number)
console.print(table)
raise typer.Exit()


def app(
version: Annotated[
Optional[bool],
Expand Down Expand Up @@ -179,6 +196,10 @@ def app(
Optional[int],
typer.Option(help="Tape size [mm]"),
] = None,
list_devices: Annotated[
Optional[bool],
typer.Option(callback=list_devices_callback, is_eager=True),
] = None,
):
if (not verbose) and (not is_verbose_env_vars()):
# Neither --verbose flag nor the environment variable is set.
Expand Down

0 comments on commit 247818b

Please sign in to comment.