- 989 行单文件拆为 server/context/ 9 模块(identity/broadcast/personalization/usage/upload/conversation/resources/decorators/reaper)+ __init__.py 兼容 re-export,外部 import 路径不变 - 新增 RuntimeIdentity 显式身份快照(identity.py),get_user_resources 支持参数化身份驱动,为任务线程拆除 Flask 隐式上下文做准备 - 测试 patch 目标随迁至 server.context.personalization;新增 test_runtime_identity_resources 覆盖 web/host/api 身份路由矩阵
27 lines
704 B
Python
27 lines
704 B
Python
"""上传相关的管理器获取与错误响应构造。"""
|
|
from __future__ import annotations
|
|
|
|
from flask import jsonify
|
|
|
|
from modules.gui_file_manager import GuiFileManager
|
|
from modules.upload_security import UploadQuarantineManager, UploadSecurityError
|
|
|
|
|
|
def get_gui_manager(workspace):
|
|
return GuiFileManager(str(workspace.project_path))
|
|
|
|
|
|
def get_upload_guard(workspace):
|
|
return UploadQuarantineManager(workspace)
|
|
|
|
|
|
def build_upload_error_response(exc: UploadSecurityError):
|
|
status = 400
|
|
if exc.code in {"scanner_missing", "scanner_unavailable"}:
|
|
status = 500
|
|
return jsonify({
|
|
"success": False,
|
|
"error": str(exc),
|
|
"code": exc.code,
|
|
}), status
|