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