#!/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 )