- CLAUDE.md 新增安全规范章节(禁止提交 / 必须提供 .env.example) - finance/config/settings.py 硬编码密码移除 - djapi/api/video/audioRead.py API Key 替换为占位符 - 新增 finance/.env.example 示例配置 - .gitignore 解除 .env.example 排除 Co-Authored-By: Simon <simon@doorcome.cn>
47 lines
1.8 KiB
Python
47 lines
1.8 KiB
Python
"""
|
|
全局配置模块。
|
|
|
|
敏感信息优先从环境变量读取,其次使用默认值(仅开发环境)。
|
|
"""
|
|
|
|
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 表示当天
|