"""
全局配置模块。

敏感信息优先从环境变量读取，其次使用默认值（仅开发环境）。
"""

import os
from pathlib import Path
from dotenv import load_dotenv

# 确保加载 finance/.env，无论从哪个目录运行
_env_path = Path(__file__).resolve().parent.parent / ".env"
load_dotenv(_env_path)

# ── MariaDB 连接 ──────────────────────────────────────────
# 通过 SSH 隧道连接：shared/script/autossh.sh
MARIADB_CONFIG = {
    "host": os.getenv("MAC_DB_HOST", "127.0.0.1"),
    "port": int(os.getenv("MAC_DB_PORT", "13306")),
    "user": os.getenv("MAC_DB_USER", "myquant"),
    "password": os.getenv("MAC_DB_PASSWORD", ""),
    "database": os.getenv("MAC_DB_NAME", "myquant"),
    "charset": "utf8mb4",
    "pool_size": 5,
    "pool_recycle": 600,  # 10分钟回收，避免 SSH 隧道半开连接
}

# ── 表名前缀 ──────────────────────────────────────────────
TABLE_PREFIX = "mac_"

# 完整表名
TABLE_STOCK_BASIC = f"{TABLE_PREFIX}stock_basic"
TABLE_STOCK_DAILY = f"{TABLE_PREFIX}stock_daily"
TABLE_STOCK_FINANCIAL = f"{TABLE_PREFIX}stock_financial"
TABLE_REPORT = f"{TABLE_PREFIX}report"

# ── AkShare 配置 ──────────────────────────────────────────
AKSHARE_CONFIG = {
    "request_timeout": 30,
    "retry_times": 3,
    "retry_delay": 2,  # 秒
}

# ── 默认参数 ──────────────────────────────────────────────
DEFAULT_START_DATE = "20200101"
DEFAULT_END_DATE = None  # None 表示当天
