Покрытие кода docstrings

This commit is contained in:
Merelden 2025-10-14 11:42:57 +05:00
parent 4e92aba2a2
commit 8f48df2cf5
19 changed files with 2324 additions and 1839 deletions

View file

@ -21,7 +21,17 @@ logging.basicConfig(
logger = logging.getLogger(__name__)
class WifiStorage:
"""Класс для хранения данных о Wi-Fi сетях и их заметках по SSID."""
"""Класс для хранения данных о Wi‑Fi сетях и их заметках по SSID.
Формат:
{
"networks": [{"ssid": str, "note": Optional[str]}]
}
Поведение:
- Создаёт директорию хранения при инициализации, ведёт логирование путей.
- Валидация структуры при чтении, безопасная запись с Unicode и отступами.
"""
def __init__(self, storage_path: str = "storage/wifi/wifi.json", translations: Translations = Depends(get_translations())):
self.storage_file = Path(storage_path)
self.storage_file.parent.mkdir(parents=True, exist_ok=True)
@ -61,7 +71,18 @@ class WifiStorage:
raise Exception(self.translations.gettext("Ошибка при сохранении заметок: {error}").format(error=str(e)))
class WifiService:
"""Сервис для сканирования текущих Wi-Fi точек доступа."""
"""Сервис для сканирования текущих Wi‑Fi точек доступа и заметок.
Источники данных:
- `pywifi` для базового сканирования и получения списка AP.
- `iw dev <iface> scan` для уточнения частоты, сигнала и безопасности.
- `MacLookup` для определения вендора по BSSID.
Политики:
- Выбор лучшего AP по SSID по уровню сигнала.
- Кэширование определения вендора.
- Сохранение SSID даже без заметок для будущих операций.
"""
def __init__(self, translations: Translations = Depends(get_translations())):
self.mac_lookup = MacLookup()
self.wifi = pywifi.PyWiFi()