Version 0.1.1 rise to flask app factory
This commit is contained in:
37
Html/apps/config.py
Normal file
37
Html/apps/config.py
Normal file
@@ -0,0 +1,37 @@
|
||||
# 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=""),
|
||||
}
|
||||
Reference in New Issue
Block a user