add features

This commit is contained in:
paul2212
2026-03-07 13:39:00 +01:00
parent 7ab3f8f4d2
commit 09f340c6e9
7 changed files with 63 additions and 10 deletions

View File

@@ -12,6 +12,7 @@ from collections.abc import AsyncGenerator
from contextlib import asynccontextmanager
from bleak import BleakClient, BleakGATTCharacteristic, BleakScanner
from bleak.exc import BleakDBusError, BleakError
# --- RFCOMM (Classic Bluetooth) support - Linux + Windows (Python 3.9+) ---
@@ -374,7 +375,17 @@ async def connect(
yield pc
else:
addr = address or await find_printer()
async with BleakClient(addr) as client:
pc = PrinterClient(client)
await pc.start()
yield pc
try:
async with BleakClient(addr) as client:
pc = PrinterClient(client)
await pc.start()
yield pc
except BleakDBusError as exc:
if "br-connection-not-supported" in str(exc).lower():
raise PrinterError(
"BLE connection failed (br-connection-not-supported). "
"Try Classic Bluetooth with classic=true and channel=1."
) from exc
raise PrinterError(f"BLE connection failed: {exc}") from exc
except BleakError as exc:
raise PrinterError(f"BLE error: {exc}") from exc