From 7b24ae67034c0c004f27844d91472158395fe269 Mon Sep 17 00:00:00 2001 From: Patrick Fink Date: Sat, 20 Mar 2021 19:20:26 +0100 Subject: [PATCH] Fix KeyError that happens if gatt device read_value() is called from outside --- nuimo/nuimo.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/nuimo/nuimo.py b/nuimo/nuimo.py index 1bb1c5b..a1a1ed7 100644 --- a/nuimo/nuimo.py +++ b/nuimo/nuimo.py @@ -224,13 +224,15 @@ def display_matrix(self, matrix, interval=2.0, brightness=1.0, fading=False, ign ) def characteristic_value_updated(self, characteristic, value): - { + notify_mapping = { self.BUTTON_CHARACTERISTIC_UUID: self._notify_button_event, self.TOUCH_CHARACTERISTIC_UUID: self._notify_touch_event, self.ROTATION_CHARACTERISTIC_UUID: self._notify_rotation_event, self.FLY_CHARACTERISTIC_UUID: self._notify_fly_event, self.BATTERY_CHARACTERISTIC_UUID: self._update_battery_level - }[characteristic.uuid](value) + } + if(characteristic.uuid in notify_mapping): + notify_mapping[characteristic.uuid](value) def characteristic_write_value_succeeded(self, characteristic): if characteristic.uuid == self.LED_MATRIX_CHARACTERISTIC_UUID: