pandora: decrease all info logs to debug
diff --git a/bumble/pandora/host.py b/bumble/pandora/host.py
index 75e0cae..9e6e4b5 100644
--- a/bumble/pandora/host.py
+++ b/bumble/pandora/host.py
@@ -112,7 +112,7 @@
async def FactoryReset(
self, request: empty_pb2.Empty, context: grpc.ServicerContext
) -> empty_pb2.Empty:
- self.log.info('FactoryReset')
+ self.log.debug('FactoryReset')
# delete all bonds
if self.device.keystore is not None:
@@ -126,7 +126,7 @@
async def Reset(
self, request: empty_pb2.Empty, context: grpc.ServicerContext
) -> empty_pb2.Empty:
- self.log.info('Reset')
+ self.log.debug('Reset')
# clear service.
self.waited_connections.clear()
@@ -139,7 +139,7 @@
async def ReadLocalAddress(
self, request: empty_pb2.Empty, context: grpc.ServicerContext
) -> ReadLocalAddressResponse:
- self.log.info('ReadLocalAddress')
+ self.log.debug('ReadLocalAddress')
return ReadLocalAddressResponse(
address=bytes(reversed(bytes(self.device.public_address)))
)
@@ -152,7 +152,7 @@
address = Address(
bytes(reversed(request.address)), address_type=Address.PUBLIC_DEVICE_ADDRESS
)
- self.log.info(f"Connect to {address}")
+ self.log.debug(f"Connect to {address}")
try:
connection = await self.device.connect(
@@ -167,7 +167,7 @@
return ConnectResponse(connection_already_exists=empty_pb2.Empty())
raise e
- self.log.info(f"Connect to {address} done (handle={connection.handle})")
+ self.log.debug(f"Connect to {address} done (handle={connection.handle})")
cookie = any_pb2.Any(value=connection.handle.to_bytes(4, 'big'))
return ConnectResponse(connection=Connection(cookie=cookie))
@@ -186,7 +186,7 @@
if address in (Address.NIL, Address.ANY):
raise ValueError('Invalid address')
- self.log.info(f"WaitConnection from {address}...")
+ self.log.debug(f"WaitConnection from {address}...")
connection = self.device.find_connection_by_bd_addr(
address, transport=BT_BR_EDR_TRANSPORT
@@ -201,7 +201,7 @@
# save connection has waited and respond.
self.waited_connections.add(id(connection))
- self.log.info(
+ self.log.debug(
f"WaitConnection from {address} done (handle={connection.handle})"
)
@@ -216,7 +216,7 @@
if address in (Address.NIL, Address.ANY):
raise ValueError('Invalid address')
- self.log.info(f"ConnectLE to {address}...")
+ self.log.debug(f"ConnectLE to {address}...")
try:
connection = await self.device.connect(
@@ -233,7 +233,7 @@
return ConnectLEResponse(connection_already_exists=empty_pb2.Empty())
raise e
- self.log.info(f"ConnectLE to {address} done (handle={connection.handle})")
+ self.log.debug(f"ConnectLE to {address} done (handle={connection.handle})")
cookie = any_pb2.Any(value=connection.handle.to_bytes(4, 'big'))
return ConnectLEResponse(connection=Connection(cookie=cookie))
@@ -243,12 +243,12 @@
self, request: DisconnectRequest, context: grpc.ServicerContext
) -> empty_pb2.Empty:
connection_handle = int.from_bytes(request.connection.cookie.value, 'big')
- self.log.info(f"Disconnect: {connection_handle}")
+ self.log.debug(f"Disconnect: {connection_handle}")
- self.log.info("Disconnecting...")
+ self.log.debug("Disconnecting...")
if connection := self.device.lookup_connection(connection_handle):
await connection.disconnect(HCI_REMOTE_USER_TERMINATED_CONNECTION_ERROR)
- self.log.info("Disconnected")
+ self.log.debug("Disconnected")
return empty_pb2.Empty()
@@ -257,7 +257,7 @@
self, request: WaitDisconnectionRequest, context: grpc.ServicerContext
) -> empty_pb2.Empty:
connection_handle = int.from_bytes(request.connection.cookie.value, 'big')
- self.log.info(f"WaitDisconnection: {connection_handle}")
+ self.log.debug(f"WaitDisconnection: {connection_handle}")
if connection := self.device.lookup_connection(connection_handle):
disconnection_future: asyncio.Future[
@@ -270,7 +270,7 @@
connection.on('disconnection', on_disconnection)
try:
await disconnection_future
- self.log.info("Disconnected")
+ self.log.debug("Disconnected")
finally:
connection.remove_listener('disconnection', on_disconnection) # type: ignore
@@ -378,7 +378,7 @@
try:
while True:
if not self.device.is_advertising:
- self.log.info('Advertise')
+ self.log.debug('Advertise')
await self.device.start_advertising(
target=target,
advertising_type=advertising_type,
@@ -393,10 +393,10 @@
bumble.device.Connection
] = asyncio.get_running_loop().create_future()
- self.log.info('Wait for LE connection...')
+ self.log.debug('Wait for LE connection...')
connection = await pending_connection
- self.log.info(
+ self.log.debug(
f"Advertise: Connected to {connection.peer_address} (handle={connection.handle})"
)
@@ -410,7 +410,7 @@
self.device.remove_listener('connection', on_connection) # type: ignore
try:
- self.log.info('Stop advertising')
+ self.log.debug('Stop advertising')
await self.device.abort_on('flush', self.device.stop_advertising())
except:
pass
@@ -423,7 +423,7 @@
if request.phys:
raise NotImplementedError("TODO: add support for `request.phys`")
- self.log.info('Scan')
+ self.log.debug('Scan')
scan_queue: asyncio.Queue[Advertisement] = asyncio.Queue()
handler = self.device.on('advertisement', scan_queue.put_nowait)
@@ -470,7 +470,7 @@
finally:
self.device.remove_listener('advertisement', handler) # type: ignore
try:
- self.log.info('Stop scanning')
+ self.log.debug('Stop scanning')
await self.device.abort_on('flush', self.device.stop_scanning())
except:
pass
@@ -479,7 +479,7 @@
async def Inquiry(
self, request: empty_pb2.Empty, context: grpc.ServicerContext
) -> AsyncGenerator[InquiryResponse, None]:
- self.log.info('Inquiry')
+ self.log.debug('Inquiry')
inquiry_queue: asyncio.Queue[
Optional[Tuple[Address, int, AdvertisingData, int]]
@@ -510,7 +510,7 @@
self.device.remove_listener('inquiry_complete', complete_handler) # type: ignore
self.device.remove_listener('inquiry_result', result_handler) # type: ignore
try:
- self.log.info('Stop inquiry')
+ self.log.debug('Stop inquiry')
await self.device.abort_on('flush', self.device.stop_discovery())
except:
pass
@@ -519,7 +519,7 @@
async def SetDiscoverabilityMode(
self, request: SetDiscoverabilityModeRequest, context: grpc.ServicerContext
) -> empty_pb2.Empty:
- self.log.info("SetDiscoverabilityMode")
+ self.log.debug("SetDiscoverabilityMode")
await self.device.set_discoverable(request.mode != NOT_DISCOVERABLE)
return empty_pb2.Empty()
@@ -527,7 +527,7 @@
async def SetConnectabilityMode(
self, request: SetConnectabilityModeRequest, context: grpc.ServicerContext
) -> empty_pb2.Empty:
- self.log.info("SetConnectabilityMode")
+ self.log.debug("SetConnectabilityMode")
await self.device.set_connectable(request.mode != NOT_CONNECTABLE)
return empty_pb2.Empty()
diff --git a/bumble/pandora/security.py b/bumble/pandora/security.py
index b731455..9f98f3f 100644
--- a/bumble/pandora/security.py
+++ b/bumble/pandora/security.py
@@ -99,7 +99,7 @@
return ev
async def confirm(self, auto: bool = False) -> bool:
- self.log.info(
+ self.log.debug(
f"Pairing event: `just_works` (io_capability: {self.io_capability})"
)
@@ -114,7 +114,7 @@
return answer.confirm
async def compare_numbers(self, number: int, digits: int = 6) -> bool:
- self.log.info(
+ self.log.debug(
f"Pairing event: `numeric_comparison` (io_capability: {self.io_capability})"
)
@@ -129,7 +129,7 @@
return answer.confirm
async def get_number(self) -> Optional[int]:
- self.log.info(
+ self.log.debug(
f"Pairing event: `passkey_entry_request` (io_capability: {self.io_capability})"
)
@@ -146,7 +146,7 @@
return answer.passkey
async def get_string(self, max_length: int) -> Optional[str]:
- self.log.info(
+ self.log.debug(
f"Pairing event: `pin_code_request` (io_capability: {self.io_capability})"
)
@@ -177,7 +177,7 @@
):
return
- self.log.info(
+ self.log.debug(
f"Pairing event: `passkey_entry_notification` (io_capability: {self.io_capability})"
)
@@ -247,7 +247,7 @@
async def OnPairing(
self, request: AsyncIterator[PairingEventAnswer], context: grpc.ServicerContext
) -> AsyncGenerator[PairingEvent, None]:
- self.log.info('OnPairing')
+ self.log.debug('OnPairing')
if self.event_queue is not None:
raise RuntimeError('already streaming pairing events')
@@ -273,7 +273,7 @@
self, request: SecureRequest, context: grpc.ServicerContext
) -> SecureResponse:
connection_handle = int.from_bytes(request.connection.cookie.value, 'big')
- self.log.info(f"Secure: {connection_handle}")
+ self.log.debug(f"Secure: {connection_handle}")
connection = self.device.lookup_connection(connection_handle)
assert connection
@@ -291,7 +291,7 @@
# trigger pairing if needed
if self.need_pairing(connection, level):
try:
- self.log.info('Pair...')
+ self.log.debug('Pair...')
if (
connection.transport == BT_LE_TRANSPORT
@@ -309,7 +309,7 @@
else:
await connection.pair()
- self.log.info('Paired')
+ self.log.debug('Paired')
except asyncio.CancelledError:
self.log.warning("Connection died during encryption")
return SecureResponse(connection_died=empty_pb2.Empty())
@@ -320,9 +320,9 @@
# trigger authentication if needed
if self.need_authentication(connection, level):
try:
- self.log.info('Authenticate...')
+ self.log.debug('Authenticate...')
await connection.authenticate()
- self.log.info('Authenticated')
+ self.log.debug('Authenticated')
except asyncio.CancelledError:
self.log.warning("Connection died during authentication")
return SecureResponse(connection_died=empty_pb2.Empty())
@@ -333,9 +333,9 @@
# trigger encryption if needed
if self.need_encryption(connection, level):
try:
- self.log.info('Encrypt...')
+ self.log.debug('Encrypt...')
await connection.encrypt()
- self.log.info('Encrypted')
+ self.log.debug('Encrypted')
except asyncio.CancelledError:
self.log.warning("Connection died during encryption")
return SecureResponse(connection_died=empty_pb2.Empty())
@@ -353,7 +353,7 @@
self, request: WaitSecurityRequest, context: grpc.ServicerContext
) -> WaitSecurityResponse:
connection_handle = int.from_bytes(request.connection.cookie.value, 'big')
- self.log.info(f"WaitSecurity: {connection_handle}")
+ self.log.debug(f"WaitSecurity: {connection_handle}")
connection = self.device.lookup_connection(connection_handle)
assert connection
@@ -390,7 +390,7 @@
def set_failure(name: str) -> Callable[..., None]:
def wrapper(*args: Any) -> None:
- self.log.info(f'Wait for security: error `{name}`: {args}')
+ self.log.debug(f'Wait for security: error `{name}`: {args}')
wait_for_security.set_result(name)
return wrapper
@@ -398,13 +398,13 @@
def try_set_success(*_: Any) -> None:
assert connection
if self.reached_security_level(connection, level):
- self.log.info('Wait for security: done')
+ self.log.debug('Wait for security: done')
wait_for_security.set_result('success')
def on_encryption_change(*_: Any) -> None:
assert connection
if self.reached_security_level(connection, level):
- self.log.info('Wait for security: done')
+ self.log.debug('Wait for security: done')
wait_for_security.set_result('success')
elif (
connection.transport == BT_BR_EDR_TRANSPORT
@@ -432,7 +432,7 @@
if self.reached_security_level(connection, level):
return WaitSecurityResponse(success=empty_pb2.Empty())
- self.log.info('Wait for security...')
+ self.log.debug('Wait for security...')
kwargs = {}
kwargs[await wait_for_security] = empty_pb2.Empty()
@@ -442,12 +442,12 @@
# wait for `authenticate` to finish if any
if authenticate_task is not None:
- self.log.info('Wait for authentication...')
+ self.log.debug('Wait for authentication...')
try:
await authenticate_task # type: ignore
except:
pass
- self.log.info('Authenticated')
+ self.log.debug('Authenticated')
return WaitSecurityResponse(**kwargs)
@@ -503,7 +503,7 @@
self, request: IsBondedRequest, context: grpc.ServicerContext
) -> wrappers_pb2.BoolValue:
address = utils.address_from_request(request, request.WhichOneof("address"))
- self.log.info(f"IsBonded: {address}")
+ self.log.debug(f"IsBonded: {address}")
if self.device.keystore is not None:
is_bonded = await self.device.keystore.get(str(address)) is not None
@@ -517,7 +517,7 @@
self, request: DeleteBondRequest, context: grpc.ServicerContext
) -> empty_pb2.Empty:
address = utils.address_from_request(request, request.WhichOneof("address"))
- self.log.info(f"DeleteBond: {address}")
+ self.log.debug(f"DeleteBond: {address}")
if self.device.keystore is not None:
with suppress(KeyError):