"""Centralized configuration for FUJ management scripts. External service IDs, credentials, and tunable parameters. Domain-specific constants (fees, column indices) stay in their respective modules. """ import os from pathlib import Path # Paths PROJECT_ROOT = Path(__file__).parent.parent CREDENTIALS_PATH = Path(os.environ.get( "CREDENTIALS_PATH", str(PROJECT_ROOT / ".secret" / "fuj-management-bot-credentials.json"), )) # Google Sheets IDs ATTENDANCE_SHEET_ID = "1E2e_gT_K5AwSRCDLDTa2UetZTkHmBOcz0kFbBUNUNBA" PAYMENTS_SHEET_ID = "1Om0YPoDVCH5cV8BrNz5LG5eR5MMU05ypQC7UMN1xn_Y" # Attendance sheet tab GIDs JUNIOR_SHEET_GID = "1213318614" # Bank BANK_ACCOUNT = os.environ.get("BANK_ACCOUNT", "CZ8520100000002800359168") # Cache settings CACHE_DIR = PROJECT_ROOT / "tmp" DRIVE_TIMEOUT = 10 # seconds CACHE_TTL_SECONDS = int(os.environ.get("CACHE_TTL_SECONDS", 300)) # 5 min default CACHE_API_CHECK_TTL_SECONDS = int(os.environ.get("CACHE_API_CHECK_TTL_SECONDS", 300)) # 5 min default # Maps cache keys to their source sheet IDs (used by cache_utils) CACHE_SHEET_MAP = { "attendance_regular": ATTENDANCE_SHEET_ID, "attendance_juniors": ATTENDANCE_SHEET_ID, "exceptions_dict": PAYMENTS_SHEET_ID, "payments_transactions": PAYMENTS_SHEET_ID, }