19 lines
545 B
Python
19 lines
545 B
Python
|
"""The USB Discovery integration."""
|
||
|
from __future__ import annotations
|
||
|
|
||
|
from serial.tools.list_ports_common import ListPortInfo
|
||
|
|
||
|
from .models import USBDevice
|
||
|
|
||
|
|
||
|
def usb_device_from_port(port: ListPortInfo) -> USBDevice:
|
||
|
"""Convert serial ListPortInfo to USBDevice."""
|
||
|
return USBDevice(
|
||
|
device=port.device,
|
||
|
vid=f"{hex(port.vid)[2:]:0>4}".upper(),
|
||
|
pid=f"{hex(port.pid)[2:]:0>4}".upper(),
|
||
|
serial_number=port.serial_number,
|
||
|
manufacturer=port.manufacturer,
|
||
|
description=port.description,
|
||
|
)
|