mirror of
https://github.com/QingdaoU/OnlineJudge.git
synced 2024-09-21 16:33:22 +00:00
增加按照测试用例 id 查询测试用例详情的接口
This commit is contained in:
parent
ac5f294842
commit
f9c4356683
@ -248,17 +248,31 @@ class TestCaseUploadAPIView(APIView):
|
|||||||
"output_name": str(i + 1) + ".out",
|
"output_name": str(i + 1) + ".out",
|
||||||
"output_md5": md5.hexdigest(),
|
"output_md5": md5.hexdigest(),
|
||||||
"striped_output_md5": striped_md5.hexdigest(),
|
"striped_output_md5": striped_md5.hexdigest(),
|
||||||
|
"input_size": os.path.getsize(test_case_dir + str(i + 1) + ".in"),
|
||||||
"output_size": os.path.getsize(test_case_dir + str(i + 1) + ".out")}
|
"output_size": os.path.getsize(test_case_dir + str(i + 1) + ".out")}
|
||||||
# 写入配置文件
|
# 写入配置文件
|
||||||
with open(test_case_dir + "info", "w") as f:
|
with open(test_case_dir + "info", "w") as f:
|
||||||
f.write(json.dumps(file_info))
|
f.write(json.dumps(file_info))
|
||||||
|
|
||||||
return success_response({"test_case_id": problem_test_dir,
|
return success_response({"test_case_id": problem_test_dir,
|
||||||
"file_list": {"input": l[0::2],
|
"file_list": file_info["test_cases"]})
|
||||||
"output": l[1::2]}})
|
|
||||||
else:
|
else:
|
||||||
return error_response(u"测试用例压缩文件格式错误,请保证测试用例文件在根目录下直接压缩")
|
return error_response(u"测试用例压缩文件格式错误,请保证测试用例文件在根目录下直接压缩")
|
||||||
|
|
||||||
|
def get(self, request):
|
||||||
|
test_case_id = request.GET.get("test_case_id", None)
|
||||||
|
if not test_case_id:
|
||||||
|
return error_response(u"参数错误")
|
||||||
|
test_case_config = settings.TEST_CASE_DIR + test_case_id + "/info"
|
||||||
|
try:
|
||||||
|
f = open(test_case_config)
|
||||||
|
config = json.loads(f.read())
|
||||||
|
f.close()
|
||||||
|
except Exception as e:
|
||||||
|
return error_response(u"读取测试用例出错")
|
||||||
|
return success_response({"file_list": config["test_cases"]})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def problem_list_page(request, page=1):
|
def problem_list_page(request, page=1):
|
||||||
"""
|
"""
|
||||||
|
Loading…
Reference in New Issue
Block a user