# Connect Service Сервис управления подключениями Wi‑Fi через nmcli. Назначение: - Предоставляет операции подключения/отключения к точкам доступа и проверки текущего статуса, ориентируясь на системный NetworkManager. Поведение: - Автоматически определяет активный Wi‑Fi‑интерфейс. - Валидирует наличие SSID в листинге перед подключением и интерпретирует частые ошибки nmcli (неверный пароль, отсутствующая сеть и т.п.). Ограничения: - Требуются права для управления сетевыми соединениями в системе. - В окружениях без NetworkManager команды nmcli будут недоступны. ### *class* services.connect_service.WifiConnectionService(translations: Translations = Depends(translations_dependency)) Bases: `object` Сервис для управления подключением к Wi-Fi сетям с использованием nmcli. Предоставляет методы для подключения, отключения и проверки статуса Wi-Fi соединений. #### connect(ssid: str, password: str) → Tuple[bool, str | None] Подключается к Wi-Fi сети по SSID и паролю. * **Parameters:** * **ssid** (*str*) – Идентификатор сети Wi-Fi. * **password** (*str*) – Пароль для подключения. * **Returns:** Кортеж (успех, сообщение об ошибке). : - Успех: (True, None). - Ошибка: (False, сообщение об ошибке). * **Return type:** Tuple[bool, Optional[str]] * **Raises:** * **subprocess.CalledProcessError** – Если команда nmcli завершилась с ошибкой. * **Exception** – Если произошла неизвестная ошибка при выполнении. #### disconnect(ssid: str) → Tuple[bool, str | None] Отключается от Wi-Fi сети по указанному SSID. * **Parameters:** **ssid** (*str*) – Идентификатор сети Wi-Fi для отключения. * **Returns:** Кортеж (успех, сообщение об ошибке). : - Успех: (True, None или сообщение, если подключение не найдено). - Ошибка: (False, сообщение об ошибке). * **Return type:** Tuple[bool, Optional[str]] * **Raises:** * **subprocess.CalledProcessError** – Если команда nmcli завершилась с ошибкой. * **Exception** – Если произошла неизвестная ошибка при выполнении. #### get_status() → Tuple[bool, str | None] Проверяет статус текущего подключения к Wi-Fi. * **Returns:** Кортеж (успех, SSID или сообщение об ошибке). : - Успех: (True, SSID текущей сети). - Ошибка или отсутствие подключения: (False, сообщение об ошибке). * **Return type:** Tuple[bool, Optional[str]] * **Raises:** **Exception** – Если произошла ошибка при выполнении команды nmcli.