Files
site/WESP_REL/wesp_runtime_env.py
2026-07-17 12:57:18 +03:00

28 lines
1.2 KiB
Python

"""
Ранние переменные окружения для полевых терминалов (киоск без лишних GUI-диалогов).
При WESP_KIOSK_HEADLESS=1 отключается интерактивный бэкенд Python keyring (иначе на Linux
с рабочем столом может всплыть «Разблокируйте связку ключей» / аналог при обращении к
Secret Service). Это не связано с пакетом cryptography — обычно виноваты keyring или Chromium.
Для браузера в режиме киоска дополнительно добавьте флаг запуска, например:
chromium --password-store=basic ...
чтобы не трогать системное хранилище паролей браузера.
"""
from __future__ import annotations
import os
_TRUE = frozenset({"1", "true", "yes", "on"})
def kiosk_headless_requested() -> bool:
return os.environ.get("WESP_KIOSK_HEADLESS", "").strip().lower() in _TRUE
def apply_kiosk_headless_env() -> None:
if not kiosk_headless_requested():
return
os.environ.setdefault("PYTHON_KEYRING_BACKEND", "keyring.backends.fail.Keyring")