fix: _build_sql_display 兜底 info 结构损坏,避免 KeyError 导致 500

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-03 01:22:27 -06:00
parent 06642b8131
commit 67079b5304

View File

@@ -233,10 +233,13 @@ class ProblemBase(APIView):
return "测试点信息读取失败,请重新上传测试点"
if not info.get("sql"):
return "测试点不是 SQL 类型,请重新上传 SQL 测试点压缩包"
try:
keys = sorted(info["test_cases"].keys(), key=natural_sort_key)
if not keys:
return "题目没有任何测试点"
input_name = info["test_cases"][keys[0]]["input_name"]
except (KeyError, AttributeError):
return "测试点信息损坏,请重新上传测试点"
try:
with open(os.path.join(test_case_dir, input_name), encoding="utf-8") as f:
init_sql = f.read()