Files
2026-10-06 21:08:12 +03:00

93 lines
1.9 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Конфигурация HTML Report.
Все пути генератора отчётов находятся здесь.
Это позволяет не использовать "магические" строки
по всему проекту.
"""
from pathlib import Path
import yaml
# ============================================================
# Пути проекта
# ============================================================
PROJECT_ROOT = Path(__file__).resolve().parent.parent
DATABASE_FILE = PROJECT_ROOT / "database" / "wifi.sqlite3"
CAPTURES_DIR = PROJECT_ROOT / "captures"
CONFIG_FILE = PROJECT_ROOT / "config" / "config.yaml"
# ============================================================
# Загрузка конфигурации
# ============================================================
if CONFIG_FILE.exists():
with CONFIG_FILE.open(
"r",
encoding="utf-8"
) as fp:
CONFIG = yaml.safe_load(fp) or {}
else:
CONFIG = {}
REPORTS_CONFIG = CONFIG.get(
"reports",
{}
)
RECENT_SESSIONS_LIMIT = REPORTS_CONFIG.get(
"recent_sessions_limit",
10
)
TIMEZONE = CONFIG.get(
"timezone",
"Europe/Moscow"
)
# ============================================================
# Каталог отчёта
# ============================================================
OUTPUT_DIR = PROJECT_ROOT / "reports" / "output"
SESSIONS_DIR = OUTPUT_DIR / "sessions"
INDEX_FILE = OUTPUT_DIR / "index.html"
ACCESS_POINTS_FILE = OUTPUT_DIR / "access_points.html"
# Страница всех поездок
CAPTURE_SESSIONS_FILE = OUTPUT_DIR / "capture_sessions.html"
# ============================================================
# Создание каталогов
# ============================================================
OUTPUT_DIR.mkdir(
parents=True,
exist_ok=True
)
SESSIONS_DIR.mkdir(
parents=True,
exist_ok=True
)