Unicode repair

This commit is contained in:
parent 2b8eff58ac
commit e264750187
49 changed files with 107 additions and 107 deletions

View file

@ -280,7 +280,7 @@
<span class="sd">Модуль инкапсулирует добавление middleware `CORSMiddleware` со списком</span>
<span class="sd">разрешённых источников (origins), характерных для локальной разработки и</span>
<span class="sd">типовых портов фронтенда (например, Vite/React на 5173/5174, dev‑серверы).</span>
<span class="sd">типовых портов фронтенда (например, Vite/React на 5173/5174, dev-серверы).</span>
<span class="sd">Использование:</span>
<span class="sd"> cors_config = CORSMiddlewareConfig(app)</span>

View file

@ -282,7 +282,7 @@
<div class="viewcode-block" id="CLIExecutor">
<a class="viewcode-back" href="../../api/core/cli_executor.html#core.cli_executor.CLIExecutor">[docs]</a>
<span class="k">class</span><span class="w"> </span><span class="nc">CLIExecutor</span><span class="p">:</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Утилита для безопасного выполнения CLI‑команд.</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Утилита для безопасного выполнения CLI-команд.</span>
<span class="sd"> Назначение:</span>
<span class="sd"> Инкапсулирует вызов `subprocess.run` и приводит результат к удобному</span>

View file

@ -280,18 +280,18 @@
<span class="sd">Назначение:</span>
<span class="sd">- Обнаружение активных узлов в пределах сетей хоста путём широковещательных ARP‑запросов от имени выбранного интерфейса.</span>
<span class="sd">- Обнаружение активных узлов в пределах сетей хоста путём широковещательных ARP-запросов от имени выбранного интерфейса.</span>
<span class="sd">- Помощь сервисам более высокого уровня (например, IPService) при проверке занятости адресов перед применением конфигураций.</span>
<span class="sd">Особенности реализации:</span>
<span class="sd">- Определяет подключённые сети интерфейса через `netifaces` и строит CIDR для сканирования.</span>
<span class="sd">- Формирует ARP‑пакеты с помощью `scapy` (Ether/ARP) и отправляет их с таймаутом.</span>
<span class="sd">- Формирует ARP-пакеты с помощью `scapy` (Ether/ARP) и отправляет их с таймаутом.</span>
<span class="sd">- Добавляет локальный адрес интерфейса в результирующий список клиентов.</span>
<span class="sd">Требования/ограничения:</span>
<span class="sd">- Для отправки ARP‑кадров могут потребоваться повышенные привилегии или capability на сырой сокет.</span>
<span class="sd">- Для отправки ARP-кадров могут потребоваться повышенные привилегии или capability на сырой сокет.</span>
<span class="sd">&quot;&quot;&quot;</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">fastapi</span><span class="w"> </span><span class="kn">import</span> <span class="n">Depends</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">scapy.layers.l2</span><span class="w"> </span><span class="kn">import</span> <span class="n">ARP</span><span class="p">,</span> <span class="n">Ether</span>

View file

@ -276,7 +276,7 @@
<article role="main" id="furo-main-content">
<h1>Source code for services.connect_service</h1><div class="highlight"><pre>
<span></span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd">Сервис управления подключениями Wi‑Fi через `nmcli`.</span>
<span class="sd">Сервис управления подключениями Wi-Fi через `nmcli`.</span>
<span class="sd">Назначение:</span>
@ -284,7 +284,7 @@
<span class="sd">Поведение:</span>
<span class="sd">- Автоматически определяет активный Wi‑Fi‑интерфейс.</span>
<span class="sd">- Автоматически определяет активный Wi-Fi-интерфейс.</span>
<span class="sd">- Валидирует наличие SSID в листинге перед подключением и интерпретирует частые ошибки `nmcli` (неверный пароль, отсутствующая сеть и т.п.).</span>
<span class="sd">Ограничения:</span>

View file

@ -276,7 +276,7 @@
<article role="main" id="furo-main-content">
<h1>Source code for services.firewalld_service</h1><div class="highlight"><pre>
<span></span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd">Сервис для управления firewalld через D‑Bus.</span>
<span class="sd">Сервис для управления firewalld через D-Bus.</span>
<span class="sd">Назначение:</span>
<span class="sd">- Обёртка над интерфейсами `org.fedoraproject.FirewallD1` для выполнения</span>

View file

@ -276,7 +276,7 @@
<article role="main" id="furo-main-content">
<h1>Source code for services.ip_service</h1><div class="highlight"><pre>
<span></span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd">Сервис проверки и применения IP‑настроек через NetworkManager (D‑Bus).</span>
<span class="sd">Сервис проверки и применения IP-настроек через NetworkManager (D-Bus).</span>
<span class="sd">Назначение:</span>
<span class="sd">- Перед применением конфигурации проверяет занятость IP адреса, сканируя сегмент</span>
@ -285,7 +285,7 @@
<span class="sd"> выполняет переподключение интерфейса.</span>
<span class="sd">Требования/ограничения:</span>
<span class="sd">- Доступ к системной шине D‑Bus и права на изменения сетевых профилей.</span>
<span class="sd">- Доступ к системной шине D-Bus и права на изменения сетевых профилей.</span>
<span class="sd">- Структура входных данных должна соответствовать схеме `ipv4_updates` для</span>
<span class="sd"> корректного обновления вложенных полей у профиля.</span>
<span class="sd">&quot;&quot;&quot;</span>

View file

@ -276,16 +276,16 @@
<article role="main" id="furo-main-content">
<h1>Source code for services.network_service</h1><div class="highlight"><pre>
<span></span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd">Сервис чтения сетевого состояния через NetworkManager (D‑Bus).</span>
<span class="sd">Сервис чтения сетевого состояния через NetworkManager (D-Bus).</span>
<span class="sd">Назначение:</span>
<span class="sd">- Предоставляет асинхронные методы для сборки унифицированных моделей</span>
<span class="sd"> сетевых интерфейсов (Ethernet/Wi‑Fi), их IP‑конфигураций, а также получения</span>
<span class="sd"> имени хоста. Используется API‑слоем для визуализации и управления.</span>
<span class="sd"> сетевых интерфейсов (Ethernet/Wi-Fi), их IP-конфигураций, а также получения</span>
<span class="sd"> имени хоста. Используется API-слоем для визуализации и управления.</span>
<span class="sd">Особенности:</span>
<span class="sd">- Фильтрация loopback и явно неактивных интерфейсов.</span>
<span class="sd">- Адаптация данных D‑Bus в pydantic‑модели (`NetworkInterface`, `WiFiDevice`,</span>
<span class="sd">- Адаптация данных D-Bus в pydantic-модели (`NetworkInterface`, `WiFiDevice`,</span>
<span class="sd"> `NetworkInterfacesContainer`).</span>
<span class="sd">&quot;&quot;&quot;</span>
<span class="kn">from</span><span class="w"> </span><span class="nn">typing</span><span class="w"> </span><span class="kn">import</span> <span class="n">List</span><span class="p">,</span> <span class="n">Dict</span><span class="p">,</span> <span class="n">Tuple</span><span class="p">,</span> <span class="n">Union</span><span class="p">,</span> <span class="n">Optional</span>

View file

@ -328,7 +328,7 @@
<span class="sd"> Назначение:</span>
<span class="sd"> Обнаруживает активные устройства в локальной сети, отправляя широковещательные</span>
<span class="sd"> ARP‑запросы по указанной подсети и собирая ответы (IP, MAC).</span>
<span class="sd"> ARP-запросы по указанной подсети и собирая ответы (IP, MAC).</span>
<span class="sd"> Детали реализации:</span>
<span class="sd"> - Использует `scapy` (`Ether` + `ARP`) для генерации пакетов и `srp` для</span>
@ -393,7 +393,7 @@
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Класс для сканирования открытых портов на устройствах.</span>
<span class="sd"> Назначение:</span>
<span class="sd"> Плейсхолдер для будущего функционала активного сканирования TCP/UDP‑портов</span>
<span class="sd"> Плейсхолдер для будущего функционала активного сканирования TCP/UDP-портов</span>
<span class="sd"> у обнаруженных узлов. В текущей версии возвращает пустой список.</span>
<span class="sd"> План развития:</span>
@ -438,7 +438,7 @@
<span class="sd"> Источники данных:</span>
<span class="sd"> - MacLookup: сопоставление префикса MAC (OUI) с названием производителя.</span>
<span class="sd"> - DNS: `gethostbyaddr` с малым таймаутом для обратного разрешения имени.</span>
<span class="sd"> - NetBIOS (nbtscan): опрос сегмента сети для извлечения NetBIOS‑имён.</span>
<span class="sd"> - NetBIOS (nbtscan): опрос сегмента сети для извлечения NetBIOS-имён.</span>
<span class="sd"> Политика кэширования:</span>
<span class="sd"> - Результаты `get_vendor` кэшируются с помощью `functools.lru_cache`.</span>
@ -552,13 +552,13 @@
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Класс для хранения и управления данными об устройствах.</span>
<span class="sd"> Формат файла подсети:</span>
<span class="sd"> JSON‑структура вида</span>
<span class="sd"> JSON-структура вида</span>
<span class="sd"> {</span>
<span class="sd"> &quot;devices&quot;: [Device, ...]</span>
<span class="sd"> }</span>
<span class="sd"> Политика очистки:</span>
<span class="sd"> - Метод `_clean_old_devices` удаляет оффлайн‑устройства, не наблюдавшиеся</span>
<span class="sd"> - Метод `_clean_old_devices` удаляет оффлайн-устройства, не наблюдавшиеся</span>
<span class="sd"> более 7 дней, чтобы поддерживать актуальность списка.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">base_path</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">&quot;storage/subnets&quot;</span><span class="p">,</span> <span class="n">translations</span><span class="p">:</span> <span class="n">Translations</span> <span class="o">=</span> <span class="kc">None</span><span class="p">):</span>
@ -699,8 +699,8 @@
<span class="sd"> 1) Определение подсети (вручную или авто по интерфейсу).</span>
<span class="sd"> 2) Загрузка ранее сохранённых устройств подсети.</span>
<span class="sd"> 3) Добавление локального устройства (если принадлежит подсети).</span>
<span class="sd"> 4) ARP‑сканирование и параллельная обработка узлов (обогащение данных).</span>
<span class="sd"> 5) Маркировка оффлайн‑узлов из кэша, не встреченных в текущем скане.</span>
<span class="sd"> 4) ARP-сканирование и параллельная обработка узлов (обогащение данных).</span>
<span class="sd"> 5) Маркировка оффлайн-узлов из кэша, не встреченных в текущем скане.</span>
<span class="sd"> 6) Сортировка по IP и сохранение объединённого списка в JSON.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">translations</span><span class="p">:</span> <span class="n">Translations</span><span class="p">):</span>

View file

@ -300,7 +300,7 @@
<div class="viewcode-block" id="WifiStorage">
<a class="viewcode-back" href="../../api/services/wifi_service.html#services.wifi_service.WifiStorage">[docs]</a>
<span class="k">class</span><span class="w"> </span><span class="nc">WifiStorage</span><span class="p">:</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Класс для хранения данных о Wi‑Fi сетях и их заметках по SSID.</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Класс для хранения данных о Wi-Fi сетях и их заметках по SSID.</span>
<span class="sd"> Формат:</span>
<span class="sd"> {</span>
@ -359,7 +359,7 @@
<div class="viewcode-block" id="WifiService">
<a class="viewcode-back" href="../../api/services/wifi_service.html#services.wifi_service.WifiService">[docs]</a>
<span class="k">class</span><span class="w"> </span><span class="nc">WifiService</span><span class="p">:</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Сервис для сканирования текущих Wi‑Fi точек доступа и заметок.</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Сервис для сканирования текущих Wi-Fi точек доступа и заметок.</span>
<span class="sd"> Источники данных:</span>
<span class="sd"> - `pywifi` для базового сканирования и получения списка AP.</span>

View file

@ -296,7 +296,7 @@
<span class="sd"> где важна минимальная зависимость от внешних сервисов.</span>
<span class="sd"> Формат данных:</span>
<span class="sd"> JSON‑структура вида:</span>
<span class="sd"> JSON-структура вида:</span>
<span class="sd"> {</span>
<span class="sd"> &quot;users&quot;: [</span>
<span class="sd"> {&quot;id&quot;: int, &quot;username&quot;: str, &quot;password_hash&quot;: str, &quot;is_admin&quot;: bool},</span>

View file

@ -293,7 +293,7 @@
<span class="sd"> Назначение:</span>
<span class="sd"> Лёгкое файловое хранилище для сессионных токенов, сопоставленных с</span>
<span class="sd"> `client_id` (например, IP клиента). Предназначено для сред без БД и</span>
<span class="sd"> persistent‑кэшей. Обеспечивает базовые операции и авто‑очистку протухших</span>
<span class="sd"> persistent-кэшей. Обеспечивает базовые операции и авто-очистку протухших</span>
<span class="sd"> сессий.</span>
<span class="sd"> Формат данных:</span>

View file

@ -280,8 +280,8 @@
<span class="sd">Содержимое модуля:</span>
<span class="sd"> - `get_translations()`: фабрика зависимости FastAPI, считывающая локаль из</span>
<span class="sd"> query‑параметра `locale`, cookie `locale` или заголовка `Accept-Language`</span>
<span class="sd"> (по приоритету), с дефолтом `ru`. Возвращает функцию‑зависимость, которая</span>
<span class="sd"> query-параметра `locale`, cookie `locale` или заголовка `Accept-Language`</span>
<span class="sd"> (по приоритету), с дефолтом `ru`. Возвращает функцию-зависимость, которая</span>
<span class="sd"> подгружает `babel.support.Translations` из каталога `SRV/locales`.</span>
<span class="sd"> - `_()`: удобная обёртка для получения перевода строки с использованием</span>
<span class="sd"> текущей локали (или дефолтного `ru`, если контекст запроса не передан).</span>