40 lines
No EOL
1.6 KiB
Python
40 lines
No EOL
1.6 KiB
Python
from pydantic import BaseModel
|
|
from typing import Optional, List
|
|
|
|
|
|
class WifiAccessPoint(BaseModel):
|
|
"""
|
|
Модель точки доступа Wi-Fi
|
|
|
|
Атрибуты:
|
|
ssid (Optional[str]): Название точки доступа. Может быть скрытым
|
|
bssid (str): Уникальный идентификатор точки доступа (по типу MAC-адреса)
|
|
channel (Optional[int]): Канал, на котором работает точка доступа
|
|
signal (Optional[int]): Уровень сигнала (dBm)
|
|
encryption (Optional[str]): Тип шифрования (WPA2, WPA3, открытая и т.д.)
|
|
frequency (Optional[str]): Частота вещания (2.4GHz/5GHz)
|
|
vendor (Optional[str]): Производитель точки доступа (определяется по MAC-адресу)
|
|
hidden (bool): Флаг скрытия названия точки доступа (ssid)
|
|
note (Optional[str]): Заметка для точки доступа
|
|
"""
|
|
|
|
ssid: Optional[str] = None
|
|
bssid: str
|
|
channel: Optional[int] = None
|
|
signal: Optional[int] = None
|
|
encryption: Optional[str] = None
|
|
frequency: Optional[str] = None
|
|
vendor: Optional[str] = None
|
|
hidden: bool = False
|
|
note: Optional[str] = None
|
|
|
|
|
|
class WifiScanResult(BaseModel):
|
|
"""
|
|
Результат сканирования Wi-Fi
|
|
|
|
Атрибуты:
|
|
access_points (List[WifiAccessPoint]): Список найденных Wi-Fi точек доступа
|
|
"""
|
|
|
|
access_points: List[WifiAccessPoint] |