32
32
)
33
33
from warnings import warn
34
34
from typing import Literal
35
+ from types import TracebackType
35
36
36
37
if sys .version_info < (3 , 12 ):
37
38
from typing_extensions import Buffer
@@ -140,7 +141,7 @@ def __init__(
140
141
cb : CBScannerArgs = {},
141
142
backend : Optional [Type [BaseBleakScanner ]] = None ,
142
143
** kwargs ,
143
- ):
144
+ ) -> None :
144
145
PlatformBleakScanner = (
145
146
get_platform_scanner_backend_type () if backend is None else backend
146
147
)
@@ -154,11 +155,16 @@ def __init__(
154
155
** kwargs ,
155
156
)
156
157
157
- async def __aenter__ (self ):
158
+ async def __aenter__ (self ) -> "BleakScanner" :
158
159
await self ._backend .start ()
159
160
return self
160
161
161
- async def __aexit__ (self , exc_type , exc_val , exc_tb ):
162
+ async def __aexit__ (
163
+ self ,
164
+ exc_type : Type [BaseException ],
165
+ exc_val : BaseException ,
166
+ exc_tb : TracebackType ,
167
+ ) -> None :
162
168
await self ._backend .stop ()
163
169
164
170
def register_detection_callback (
@@ -193,15 +199,15 @@ def register_detection_callback(
193
199
unregister = self ._backend .register_detection_callback (callback )
194
200
setattr (self , "_unregister_" , unregister )
195
201
196
- async def start (self ):
202
+ async def start (self ) -> None :
197
203
"""Start scanning for devices"""
198
204
await self ._backend .start ()
199
205
200
- async def stop (self ):
206
+ async def stop (self ) -> None :
201
207
"""Stop scanning for devices"""
202
208
await self ._backend .stop ()
203
209
204
- def set_scanning_filter (self , ** kwargs ):
210
+ def set_scanning_filter (self , ** kwargs ) -> None :
205
211
"""
206
212
Set scanning filter for the BleakScanner.
207
213
@@ -281,15 +287,13 @@ class ExtraArgs(TypedDict, total=False):
281
287
@classmethod
282
288
async def discover (
283
289
cls , timeout : float = 5.0 , * , return_adv : Literal [False ] = False , ** kwargs
284
- ) -> List [BLEDevice ]:
285
- ...
290
+ ) -> List [BLEDevice ]: ...
286
291
287
292
@overload
288
293
@classmethod
289
294
async def discover (
290
295
cls , timeout : float = 5.0 , * , return_adv : Literal [True ], ** kwargs
291
- ) -> Dict [str , Tuple [BLEDevice , AdvertisementData ]]:
292
- ...
296
+ ) -> Dict [str , Tuple [BLEDevice , AdvertisementData ]]: ...
293
297
294
298
@classmethod
295
299
async def discover (
@@ -513,19 +517,21 @@ def __init__(
513
517
winrt : WinRTClientArgs = {},
514
518
backend : Optional [Type [BaseBleakClient ]] = None ,
515
519
** kwargs ,
516
- ):
520
+ ) -> None :
517
521
PlatformBleakClient = (
518
522
get_platform_client_backend_type () if backend is None else backend
519
523
)
520
524
521
525
self ._backend = PlatformBleakClient (
522
526
address_or_ble_device ,
523
- disconnected_callback = None
524
- if disconnected_callback is None
525
- else functools .partial (disconnected_callback , self ),
526
- services = None
527
- if services is None
528
- else set (map (normalize_uuid_str , services )),
527
+ disconnected_callback = (
528
+ None
529
+ if disconnected_callback is None
530
+ else functools .partial (disconnected_callback , self )
531
+ ),
532
+ services = (
533
+ None if services is None else set (map (normalize_uuid_str , services ))
534
+ ),
529
535
timeout = timeout ,
530
536
winrt = winrt ,
531
537
** kwargs ,
@@ -553,19 +559,24 @@ def mtu_size(self) -> int:
553
559
"""
554
560
return self ._backend .mtu_size
555
561
556
- def __str__ (self ):
562
+ def __str__ (self ) -> str :
557
563
return f"{ self .__class__ .__name__ } , { self .address } "
558
564
559
- def __repr__ (self ):
565
+ def __repr__ (self ) -> str :
560
566
return f"<{ self .__class__ .__name__ } , { self .address } , { type (self ._backend )} >"
561
567
562
568
# Async Context managers
563
569
564
- async def __aenter__ (self ):
570
+ async def __aenter__ (self ) -> "BleakClient" :
565
571
await self .connect ()
566
572
return self
567
573
568
- async def __aexit__ (self , exc_type , exc_val , exc_tb ):
574
+ async def __aexit__ (
575
+ self ,
576
+ exc_type : Type [BaseException ],
577
+ exc_val : BaseException ,
578
+ exc_tb : TracebackType ,
579
+ ) -> None :
569
580
await self .disconnect ()
570
581
571
582
# Connectivity methods
@@ -823,7 +834,7 @@ def callback(sender: BleakGATTCharacteristic, data: bytearray):
823
834
824
835
if inspect .iscoroutinefunction (callback ):
825
836
826
- def wrapped_callback (data ) :
837
+ def wrapped_callback (data : bytearray ) -> None :
827
838
task = asyncio .create_task (callback (characteristic , data ))
828
839
_background_tasks .add (task )
829
840
task .add_done_callback (_background_tasks .discard )
@@ -893,7 +904,7 @@ def discover(*args, **kwargs):
893
904
return BleakScanner .discover (* args , ** kwargs )
894
905
895
906
896
- def cli ():
907
+ def cli () -> None :
897
908
import argparse
898
909
899
910
parser = argparse .ArgumentParser (
0 commit comments