Merge pull request #53 from samm-git/patch-1

Add optional bleak package import handling
This commit is contained in:
fdlamotte
2026-02-10 08:42:07 -04:00
committed by GitHub

View File

@@ -5,11 +5,19 @@ mccli.py : CLI interface to MeschCore BLE companion app
import asyncio import asyncio
import logging import logging
# Make bleak optional - only fail if BLE operations are attempted
try:
from bleak import BleakClient, BleakScanner from bleak import BleakClient, BleakScanner
from bleak.backends.characteristic import BleakGATTCharacteristic from bleak.backends.characteristic import BleakGATTCharacteristic
from bleak.backends.device import BLEDevice from bleak.backends.device import BLEDevice
from bleak.backends.scanner import AdvertisementData from bleak.backends.scanner import AdvertisementData
from bleak.exc import BleakDeviceNotFoundError from bleak.exc import BleakDeviceNotFoundError
BLEAK_AVAILABLE = True
except ImportError:
BLEAK_AVAILABLE = False
BleakClient = None
BleakGATTCharacteristic = None
# Get logger # Get logger
logger = logging.getLogger("meshcore") logger = logging.getLogger("meshcore")
@@ -29,6 +37,11 @@ class BLEConnection:
client (BleakClient, optional): An existing BleakClient instance. client (BleakClient, optional): An existing BleakClient instance.
pin (str, optional): PIN for BLE pairing authentication. pin (str, optional): PIN for BLE pairing authentication.
""" """
if not BLEAK_AVAILABLE:
raise ImportError(
f"BLE requires 'bleak' package to be installed."
)
self.address = address self.address = address
self._user_provided_address = address self._user_provided_address = address
self.client = client self.client = client