2025-10-14 16:11:12 +05:00
|
|
|
|
# Connect Service
|
|
|
|
|
|
|
2025-10-21 09:20:50 +05:00
|
|
|
|
Сервис управления подключениями Wi-Fi через nmcli.
|
2025-10-14 16:11:12 +05:00
|
|
|
|
|
|
|
|
|
|
Назначение:
|
|
|
|
|
|
|
|
|
|
|
|
- Предоставляет операции подключения/отключения к точкам доступа и проверки текущего статуса, ориентируясь на системный NetworkManager.
|
|
|
|
|
|
|
|
|
|
|
|
Поведение:
|
|
|
|
|
|
|
2025-10-21 09:20:50 +05:00
|
|
|
|
- Автоматически определяет активный Wi-Fi-интерфейс.
|
2025-10-14 16:11:12 +05:00
|
|
|
|
- Валидирует наличие 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.
|