GonetsDocs/Documentation/Tech-docs/api/services/wifi_service.md
2025-10-14 16:19:35 +05:00

61 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Wifi Service
### *class* services.wifi_service.WifiService(translations: Translations = Depends(translations_dependency))
Bases: `object`
Сервис для сканирования текущих Wi‑Fi точек доступа и заметок.
Источники данных:
: - 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`
Класс для хранения данных о Wi‑Fi сетях и их заметках по SSID.
Формат:
: {
: “networks”: [{“ssid”: str, “note”: Optional[str]}]
<br/>
}
Поведение:
: - Создаёт директорию хранения при инициализации, ведёт логирование путей.
- Валидация структуры при чтении, безопасная запись с Unicode и отступами.
#### load_notes() → Dict[str, str | None]
Загружает заметки по SSID из файла хранения.
#### save_notes(notes: Dict[str, str | None]) → None
Сохраняет заметки по SSID в файл.