baodan/api/insurance/config.py

32 lines
985 B
Python
Raw Normal View History

"""公共配置:统一从环境变量或 Flask config 读取配置项。"""
import os
from flask import current_app
def get_config(key: str, default: str = "") -> str:
"""从环境变量获取配置(优先级:环境变量 > Flask config"""
value = os.environ.get(key, "")
if value:
return value
try:
return current_app.config.get(key, default)
except RuntimeError:
return default
def get_storage_root() -> str:
"""获取保险模块持久化存储根目录。
优先使用 INSURANCE_STORAGE_ROOT 环境变量
默认为 /app/api/storage/insuranceDocker 持久化卷
本地开发时回退到 ./storage/insurance
"""
root = os.environ.get("INSURANCE_STORAGE_ROOT", "")
if root:
return root
# Docker 环境
if os.path.isdir("/app/api/storage"):
return "/app/api/storage/insurance"
# 本地开发
return os.path.join(os.getcwd(), "storage", "insurance")