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 logging
from bleak import BleakClient, BleakScanner
from bleak.backends.characteristic import BleakGATTCharacteristic
from bleak.backends.device import BLEDevice
from bleak.backends.scanner import AdvertisementData
from bleak.exc import BleakDeviceNotFoundError
# Make bleak optional - only fail if BLE operations are attempted
try:
from bleak import BleakClient, BleakScanner
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
logger = logging.getLogger("meshcore")
@@ -29,6 +37,11 @@ class BLEConnection:
client (BleakClient, optional): An existing BleakClient instance.
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._user_provided_address = address
self.client = client