Files
hsa/Html/apps/config.py
2025-08-29 21:41:20 +08:00

47 lines
1.7 KiB
Python

# app/config.py
import configparser
import os
BASE_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__),'..'))
GLOBAL_CONFIG = configparser.ConfigParser()
GLOBAL_CONFIG.read(os.getenv("APP_CONFIG_FILE", "config.ini"))
class Config:
SECRET_KEY = os.getenv("SECRET_KEY", "dev-secret")
SQLALCHEMY_DATABASE_URI = os.getenv("DATABASE_URL", "sqlite:///dev.db")
SQLALCHEMY_TRACK_MODIFICATIONS = False
SECRET_KEY = os.getenv("SECRET_KEY", "cakebaker") # 覆盖优先
VSCODE_WEB_URL = GLOBAL_CONFIG['VSCODE_WEB']['url']
USER_DATA_DIR = GLOBAL_CONFIG['USER_DATA']['dir']
COURSE_DATA_DIR = GLOBAL_CONFIG['COURSE_DATA']['dir']
# socketio / cors 配置也可以放这里
SOCKETIO_PING_TIMEOUT = 60
SOCKETIO_PING_INTERVAL = 5
MARKDOWN_DIR = os.path.join(BASE_DIR, "books", "markdown")
STATIC_DIR = os.path.join(BASE_DIR, "static")
IMAGE_DIR = "image"
# 你的学生工作区根目录(如无就放到项目 data 目录)
STUDENT_WORKSPACE_ROOT = os.getenv(
"STUDENT_WORKSPACE_ROOT",
os.path.join(BASE_DIR, "data", "workspaces")
)
# WSL 相关
VSCODE_WEB_PATH = {
"is_wsl": GLOBAL_CONFIG.getboolean("VSCODE_WEB_PATH", "is_wsl", fallback=False),
"windows_path": GLOBAL_CONFIG.get("VSCODE_WEB_PATH", "windows_path", fallback=""),
"wsl_path": GLOBAL_CONFIG.get("VSCODE_WEB_PATH", "wsl_path", fallback=""),
}
MONGO_URI = GLOBAL_CONFIG['MONGO']['uri']
TENCENT_COS = {
"secret_id": GLOBAL_CONFIG['TENCENT_COS']['secret_id'],
"secret_key": GLOBAL_CONFIG['TENCENT_COS']['secret_key'],
"bucket": GLOBAL_CONFIG['TENCENT_COS']['bucket'],
"region": GLOBAL_CONFIG['TENCENT_COS']['region'],
}