gonets/SRV/docs/_build/markdown/api/services/connect_service.md
2025-10-21 09:20:50 +05:00

3.5 KiB
Raw Blame History

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.