ble_scanner.cpython-311.pyc•12.5 kB
�
%2�gM1 � �
� d Z ddlZddlZddlZddlmZmZmZmZ ddl m
Z
mZ ddlm
Z
ddlmZ ddlmZmZmZmZ ddlmZ dd lmZmZ ej e� � Z ej � � d
k Z G d� d� � Z e� � Z dS )
u]
Module spécialisé pour le scan BLE (Bluetooth Low Energy) avec optimisation pour Windows.
� N)�Dict�List�Optional�Any)�BleakScanner�BleakClient)� BLEDevice)�AdvertisementData)�format_manufacturer_data�format_service_data�get_friendly_device_name�normalize_mac_address)�get_company_name)�get_device_info�MAC_PREFIX_DATABASE�Windowsc �t � e Zd ZdZddedee dedee ee
f fd �Zd
ede ee
f fd�Z
dS )
�
BLEScanneru1 Classe spécialisée dans le scan d'appareils BLE� @NF�duration�filter_name�connect_for_details�returnc � �
�K � i �dt dt f�fd�}t � d|� d�� � t r|dz n|}t |�� � }|� � � � d{V �� t j |� � � d{V �� |� � � � d{V �� t � d t �� � � d
�� � d� t j � � D � � }g }t �� � dk rd
nt �� � } d}
�� � � D �]�\ }\ }}
|j
pd}|�)|� � � |� � � v �r�t |j � � }|r|� dd� � nd}|s6|
j r/|
j � � � D ]}t) |� � }|r n�d}|j � � � � dd� � }|D ]#}|� |� � rd}|sdddd�} n�$|r|� dd� � nt1 ||j |
j � � }|r!|dk rd}|rd|v rd|j dd� � d�}t3 |j � � |j ||
j t7 |
j � � |
j pg t; |
j � � |
j tA |
dd� � |p|rdndtA |
dd� � d |d!|d"�}|r�|r�t �! d#|j � d$�� � |
d%z
}
| �"