From d357aa7ecd5e11cfb7d2e3ef33904f3fe954c3ac Mon Sep 17 00:00:00 2001 From: Thomas Franks Date: Tue, 23 Aug 2022 12:46:39 -0400 Subject: [PATCH 1/4] resolves #8 Missing Type Annotations --- adafruit_ble_midi.py | 17 +++++++++++------ requirements.txt | 1 + 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/adafruit_ble_midi.py b/adafruit_ble_midi.py index c75b9f7..f365432 100644 --- a/adafruit_ble_midi.py +++ b/adafruit_ble_midi.py @@ -19,6 +19,11 @@ from adafruit_ble.uuid import VendorUUID from adafruit_ble.services import Service +try: + from circuitpython_typing import WriteableBuffer, ReadableBuffer +except ImportError: + pass + __version__ = "0.0.0+auto.0" __repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_BLE_MIDI.git" @@ -30,7 +35,7 @@ class _MidiCharacteristic(ComplexCharacteristic): uuid = VendorUUID("7772E5DB-3868-4112-A1A9-F2669D106BF3") - def __init__(self): + def __init__(self) -> None: super().__init__( properties=Characteristic.WRITE_NO_RESPONSE | Characteristic.READ @@ -41,7 +46,7 @@ def __init__(self): fixed_length=False, ) - def bind(self, service): + def bind(self, service: Service) -> _bleio.PacketBuffer: """Binds the characteristic to the given Service.""" bound_characteristic = super().bind(service) return _bleio.PacketBuffer(bound_characteristic, buffer_size=4) @@ -60,7 +65,7 @@ class MIDIService(Service): # so it complains about missing members. # pylint: disable=no-member - def __init__(self, **kwargs): + def __init__(self, **kwargs) -> None: super().__init__(**kwargs) # Defer creating _in_buffer until we're definitely connected. self._in_buffer = None @@ -82,7 +87,7 @@ def __init__(self, **kwargs): self._in_index = 1 self._last_data = True - def readinto(self, buf, length): + def readinto(self, buf: WriteableBuffer, length: int) -> int: """Reads up to ``length`` bytes into ``buf`` starting at index 0. Returns the number of bytes written into ``buf``.""" @@ -115,13 +120,13 @@ def readinto(self, buf, length): return i - def read(self, length): + def read(self, length: int) -> bytearray: """Reads up to ``length`` bytes and returns them.""" result = bytearray(length) i = self.readinto(result, length) return result[:i] - def write(self, buf, length): + def write(self, buf: ReadableBuffer, length: int) -> None: """Writes ``length`` bytes out.""" # pylint: disable=too-many-branches timestamp_ms = time.monotonic_ns() // 1000000 diff --git a/requirements.txt b/requirements.txt index 59b5192..ef4d869 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,3 +4,4 @@ Adafruit-Blinka adafruit-circuitpython-ble +adafruit-circuitpython-typing From 080d648c5f1d1ced84fa1798b5c0112ff5c2b6cb Mon Sep 17 00:00:00 2001 From: Thomas Franks Date: Wed, 24 Aug 2022 10:06:07 -0400 Subject: [PATCH 2/4] resolves #8 Missing Type Annotations --- adafruit_ble_midi.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/adafruit_ble_midi.py b/adafruit_ble_midi.py index f365432..2efc872 100644 --- a/adafruit_ble_midi.py +++ b/adafruit_ble_midi.py @@ -20,6 +20,7 @@ from adafruit_ble.services import Service try: + import typing # pylint: disable=unused-import from circuitpython_typing import WriteableBuffer, ReadableBuffer except ImportError: pass @@ -46,7 +47,7 @@ def __init__(self) -> None: fixed_length=False, ) - def bind(self, service: Service) -> _bleio.PacketBuffer: + def bind(self, service: MIDIService) -> _bleio.PacketBuffer: """Binds the characteristic to the given Service.""" bound_characteristic = super().bind(service) return _bleio.PacketBuffer(bound_characteristic, buffer_size=4) From 8e4fbc82ce6cb74475ed993b026656dd770087d0 Mon Sep 17 00:00:00 2001 From: Thomas Franks Date: Wed, 24 Aug 2022 10:18:18 -0400 Subject: [PATCH 3/4] resolves #8 Missing Type Annotations --- adafruit_ble_midi.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/adafruit_ble_midi.py b/adafruit_ble_midi.py index 2efc872..78893ea 100644 --- a/adafruit_ble_midi.py +++ b/adafruit_ble_midi.py @@ -47,7 +47,9 @@ def __init__(self) -> None: fixed_length=False, ) - def bind(self, service: MIDIService) -> _bleio.PacketBuffer: + def bind( # pylint:disable=used-before-assignment + self, service: MIDIService + ) -> _bleio.PacketBuffer: """Binds the characteristic to the given Service.""" bound_characteristic = super().bind(service) return _bleio.PacketBuffer(bound_characteristic, buffer_size=4) From 8451d8b37cd3c53760cef41304d61bcbf15291cf Mon Sep 17 00:00:00 2001 From: Thomas Franks Date: Wed, 24 Aug 2022 11:34:49 -0400 Subject: [PATCH 4/4] resolves #8 Missing Type Annotations --- adafruit_ble_midi.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/adafruit_ble_midi.py b/adafruit_ble_midi.py index 78893ea..44236fb 100644 --- a/adafruit_ble_midi.py +++ b/adafruit_ble_midi.py @@ -47,9 +47,7 @@ def __init__(self) -> None: fixed_length=False, ) - def bind( # pylint:disable=used-before-assignment - self, service: MIDIService - ) -> _bleio.PacketBuffer: + def bind(self, service: "MIDIService") -> _bleio.PacketBuffer: """Binds the characteristic to the given Service.""" bound_characteristic = super().bind(service) return _bleio.PacketBuffer(bound_characteristic, buffer_size=4)