From 981f1ebf19e6407e58b44ce86a4e49a3d52c8728 Mon Sep 17 00:00:00 2001 From: Kevin K Date: Mon, 2 May 2022 12:43:12 -0600 Subject: [PATCH 1/2] started typing for three requested functions: init, getitem, setitem --- adafruit_ble_magic_light.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/adafruit_ble_magic_light.py b/adafruit_ble_magic_light.py index d367247..7d4843b 100644 --- a/adafruit_ble_magic_light.py +++ b/adafruit_ble_magic_light.py @@ -10,6 +10,11 @@ """ +try: + from typing import Optional +except ImportError: + pass + from adafruit_ble.services import Service from adafruit_ble.uuid import VendorUUID from adafruit_ble.characteristics import Characteristic @@ -28,7 +33,7 @@ class MagicLightService(Service): uuid=VendorUUID("0000ffe9-0000-1000-8000-00805f9b34fb"), max_length=7 ) - def __init__(self, service=None): + def __init__(self, service: None = None) -> None: super().__init__(service=service) self._color = 0xFFFFFF self._buf = bytearray(7) @@ -36,12 +41,12 @@ def __init__(self, service=None): self._buf[6] = 0xAA self._brightness = 1.0 - def __getitem__(self, index): + def __getitem__(self, index: int) -> IndexError | int: if index > 0: raise IndexError() return self._color - def __setitem__(self, index, value): + def __setitem__(self, index: int, value: int) -> Optional[IndexError]: if index > 0: raise IndexError() if isinstance(value, int): From 0bb527da882ef10c20df16a3ef6c60d6e36e93b1 Mon Sep 17 00:00:00 2001 From: Kevin K Date: Mon, 2 May 2022 13:19:23 -0600 Subject: [PATCH 2/2] fixed service type and removed throw error return types --- adafruit_ble_magic_light.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/adafruit_ble_magic_light.py b/adafruit_ble_magic_light.py index 7d4843b..4dce389 100644 --- a/adafruit_ble_magic_light.py +++ b/adafruit_ble_magic_light.py @@ -33,7 +33,7 @@ class MagicLightService(Service): uuid=VendorUUID("0000ffe9-0000-1000-8000-00805f9b34fb"), max_length=7 ) - def __init__(self, service: None = None) -> None: + def __init__(self, service: Optional["MagicLightService"] = None) -> None: super().__init__(service=service) self._color = 0xFFFFFF self._buf = bytearray(7) @@ -41,12 +41,12 @@ def __init__(self, service: None = None) -> None: self._buf[6] = 0xAA self._brightness = 1.0 - def __getitem__(self, index: int) -> IndexError | int: + def __getitem__(self, index: int) -> int: if index > 0: raise IndexError() return self._color - def __setitem__(self, index: int, value: int) -> Optional[IndexError]: + def __setitem__(self, index: int, value: int) -> None: if index > 0: raise IndexError() if isinstance(value, int):