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
from bleak import BleakClient, BleakScanner
from bleak.backends.characteristic import BleakGATTCharacteristic # Make bleak optional - only fail if BLE operations are attempted
from bleak.backends.device import BLEDevice try:
from bleak.backends.scanner import AdvertisementData from bleak import BleakClient, BleakScanner
from bleak.exc import BleakDeviceNotFoundError from bleak.backends.characteristic import BleakGATTCharacteristic
from bleak.backends.device import BLEDevice
from bleak.backends.scanner import AdvertisementData
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