From 7411a246c928552429190d3d3e841c6a41fd2570 Mon Sep 17 00:00:00 2001 From: Frederik Leonhardt Date: Tue, 24 Jun 2025 22:12:37 +1200 Subject: [PATCH] pybricks.common.BLE: Improve typing for hub constructor. Update type hint for broadcast_channel to Optional, as None is allowed. --- jedi/tests/test_get_signature.py | 20 +++++++++++++++----- src/pybricks/hubs.py | 14 ++++++++------ 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/jedi/tests/test_get_signature.py b/jedi/tests/test_get_signature.py index a2aa1aa..b7b515c 100644 --- a/jedi/tests/test_get_signature.py +++ b/jedi/tests/test_get_signature.py @@ -86,12 +86,22 @@ CONSTRUCTOR_PARAMS = [ pytest.param( "pybricks.hubs", "MoveHub", - [["broadcast_channel: int=None", "observe_channels: Sequence[int]=[]"]], + [ + [ + "broadcast_channel: Optional[int]=None", + "observe_channels: Sequence[int]=[]", + ] + ], ), pytest.param( "pybricks.hubs", "CityHub", - [["broadcast_channel: int=None", "observe_channels: Sequence[int]=[]"]], + [ + [ + "broadcast_channel: Optional[int]=None", + "observe_channels: Sequence[int]=[]", + ] + ], ), pytest.param( "pybricks.hubs", @@ -100,7 +110,7 @@ CONSTRUCTOR_PARAMS = [ [ "top_side: Axis=Axis.Z", "front_side: Axis=Axis.X", - "broadcast_channel: int=None", + "broadcast_channel: Optional[int]=None", "observe_channels: Sequence[int]=[]", ] ], @@ -112,7 +122,7 @@ CONSTRUCTOR_PARAMS = [ [ "top_side: Axis=Axis.Z", "front_side: Axis=Axis.X", - "broadcast_channel: int=None", + "broadcast_channel: Optional[int]=None", "observe_channels: Sequence[int]=[]", ] ], @@ -124,7 +134,7 @@ CONSTRUCTOR_PARAMS = [ [ "top_side: Axis=Axis.Z", "front_side: Axis=Axis.X", - "broadcast_channel: int=None", + "broadcast_channel: Optional[int]=None", "observe_channels: Sequence[int]=[]", ] ], diff --git a/src/pybricks/hubs.py b/src/pybricks/hubs.py index 275f8eb..1c25e52 100644 --- a/src/pybricks/hubs.py +++ b/src/pybricks/hubs.py @@ -3,7 +3,7 @@ """LEGO® Programmable Hubs.""" -from typing import Sequence +from typing import Sequence, Optional from . import _common from .ev3dev import _speaker @@ -44,7 +44,9 @@ class MoveHub: ble = _common.BLE() def __init__( - self, broadcast_channel: int = None, observe_channels: Sequence[int] = [] + self, + broadcast_channel: Optional[int] = None, + observe_channels: Sequence[int] = [], ): """MoveHub(top_side=Axis.Z, front_side=Axis.X, broadcast_channel=None, observe_channels=[]) @@ -78,7 +80,7 @@ class CityHub: ble = _common.BLE() def __init__( - self, broadcast_channel: int = None, observe_channels: Sequence[int] = [] + self, broadcast_channel: Optional[int] = None, observe_channels: Sequence[int] = [] ): """CityHub(broadcast_channel=None, observe_channels=[]) @@ -112,7 +114,7 @@ class TechnicHub: self, top_side: Axis = Axis.Z, front_side: Axis = Axis.X, - broadcast_channel: int = None, + broadcast_channel: Optional[int] = None, observe_channels: Sequence[int] = [], ): """TechnicHub(top_side=Axis.Z, front_side=Axis.X, broadcast_channel=None, observe_channels=[]) @@ -157,7 +159,7 @@ class EssentialHub: self, top_side: Axis = Axis.Z, front_side: Axis = Axis.X, - broadcast_channel: int = None, + broadcast_channel: Optional[int] = None, observe_channels: Sequence[int] = [], ): """EssentialHub(top_side=Axis.Z, front_side=Axis.X, broadcast_channel=None, observe_channels=[]) @@ -212,7 +214,7 @@ class PrimeHub: self, top_side: Axis = Axis.Z, front_side: Axis = Axis.X, - broadcast_channel: int = None, + broadcast_channel: Optional[int] = None, observe_channels: Sequence[int] = [], ): """PrimeHub(top_side=Axis.Z, front_side=Axis.X, broadcast_channel=None, observe_channels=[])