2025-10-14 16:11:12 +05:00
|
|
|
|
# Wifi Service
|
|
|
|
|
|
|
|
|
|
|
|
### *class* services.wifi_service.WifiService(translations: Translations = Depends(translations_dependency))
|
|
|
|
|
|
|
|
|
|
|
|
Bases: `object`
|
|
|
|
|
|
|
2025-10-21 09:20:50 +05:00
|
|
|
|
Сервис для сканирования текущих Wi-Fi точек доступа и заметок.
|
2025-10-14 16:11:12 +05:00
|
|
|
|
|
|
|
|
|
|
Источники данных:
|
|
|
|
|
|
: - pywifi для базового сканирования и получения списка AP.
|
|
|
|
|
|
- iw dev <iface> scan для уточнения частоты, сигнала и безопасности.
|
|
|
|
|
|
- MacLookup для определения вендора по BSSID.
|
|
|
|
|
|
|
|
|
|
|
|
Политики:
|
|
|
|
|
|
: - Выбор лучшего AP по SSID по уровню сигнала.
|
|
|
|
|
|
- Кэширование определения вендора.
|
|
|
|
|
|
- Сохранение SSID даже без заметок для будущих операций.
|
|
|
|
|
|
|
|
|
|
|
|
#### add_note(ssid: str, note: str) → Tuple[bool, str | None]
|
|
|
|
|
|
|
|
|
|
|
|
Добавляет заметку к сети Wi-Fi по SSID.
|
|
|
|
|
|
|
|
|
|
|
|
#### delete_note(ssid: str) → Tuple[bool, str | None]
|
|
|
|
|
|
|
|
|
|
|
|
Удаляет заметку сети Wi-Fi по SSID.
|
|
|
|
|
|
|
|
|
|
|
|
#### get_vendor(mac: str) → str
|
|
|
|
|
|
|
|
|
|
|
|
Определяет вендора по MAC-адресу с использованием кэширования.
|
|
|
|
|
|
|
|
|
|
|
|
#### scan_wifi(timeout: int = 30) → WifiScanResult
|
|
|
|
|
|
|
|
|
|
|
|
Сканирует текущие Wi-Fi точки доступа.
|
|
|
|
|
|
|
|
|
|
|
|
#### update_note(ssid: str, note: str) → Tuple[bool, str | None]
|
|
|
|
|
|
|
|
|
|
|
|
Обновляет заметку сети Wi-Fi по SSID.
|
|
|
|
|
|
|
|
|
|
|
|
### *class* services.wifi_service.WifiStorage(storage_path: str = 'storage/wifi/wifi.json', translations: Translations = Depends(translations_dependency))
|
|
|
|
|
|
|
|
|
|
|
|
Bases: `object`
|
|
|
|
|
|
|
2025-10-21 09:20:50 +05:00
|
|
|
|
Класс для хранения данных о Wi-Fi сетях и их заметках по SSID.
|
2025-10-14 16:11:12 +05:00
|
|
|
|
|
|
|
|
|
|
Формат:
|
2025-10-21 10:51:32 +05:00
|
|
|
|
|
|
|
|
|
|
```default
|
|
|
|
|
|
{
|
|
|
|
|
|
"networks": [{"ssid": str, "note": Optional[str]}]
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
2025-10-14 16:11:12 +05:00
|
|
|
|
|
|
|
|
|
|
Поведение:
|
2025-10-21 10:51:32 +05:00
|
|
|
|
|
|
|
|
|
|
- Создаёт директорию хранения при инициализации, ведёт логирование путей.
|
|
|
|
|
|
- Валидирует структуру при чтении и безопасно записывает JSON с Unicode и отступами.
|
2025-10-14 16:11:12 +05:00
|
|
|
|
|
|
|
|
|
|
#### load_notes() → Dict[str, str | None]
|
|
|
|
|
|
|
|
|
|
|
|
Загружает заметки по SSID из файла хранения.
|
|
|
|
|
|
|
|
|
|
|
|
#### save_notes(notes: Dict[str, str | None]) → None
|
|
|
|
|
|
|
|
|
|
|
|
Сохраняет заметки по SSID в файл.
|