From b614927f02964608663c01f3062ffb6a0fb07445 Mon Sep 17 00:00:00 2001 From: KanonKC Date: Mon, 29 Jan 2024 23:54:30 +0700 Subject: [PATCH] Update prediction model --- api/controllers/problem/update_problem.py | 6 +++--- .../difficulty_predictor_667.sav | Bin 0 -> 1946 bytes api/difficulty_predictor/predictor.py | 2 +- api/views/script.py | 12 +++++++++++- 4 files changed, 15 insertions(+), 5 deletions(-) create mode 100644 api/difficulty_predictor/difficulty_predictor_667.sav diff --git a/api/controllers/problem/update_problem.py b/api/controllers/problem/update_problem.py index cd4a1a5..ea8468b 100644 --- a/api/controllers/problem/update_problem.py +++ b/api/controllers/problem/update_problem.py @@ -1,7 +1,7 @@ from api.utility import passwordEncryption from rest_framework.response import Response from rest_framework.decorators import api_view -from api.sandbox.grader import PythonGrader +from api.sandbox.grader import Grader from ...constant import GET,POST,PUT,DELETE from ...models import * from rest_framework import status @@ -27,7 +27,7 @@ def update_problem(problem:Problem,request): problem.updated_date = timezone.now() if 'testcases' in request.data: - running_result = PythonGrader(problem.solution,request.data['testcases'],1,1.5).generate_output() + running_result = Grader[request.data['language']](problem.solution,request.data['testcases'],1,1.5).generate_output() # if not running_result.runnable: # return Response({'detail': 'Error during editing. Your code may has an error/timeout!'},status=status.HTTP_406_NOT_ACCEPTABLE) @@ -53,7 +53,7 @@ def update_problem(problem:Problem,request): if 'solution' in request.data: testcases = Testcase.objects.filter(problem=problem,deprecated=False) program_input = [i.input for i in testcases] - running_result = PythonGrader(problem.solution,program_input,1,1.5).generate_output() + running_result = Grader[request.data['language']](problem.solution,program_input,1,1.5).generate_output() if not running_result.runnable: return Response({'detail': 'Error during editing. Your code may has an error/timeout!'},status=status.HTTP_406_NOT_ACCEPTABLE) diff --git a/api/difficulty_predictor/difficulty_predictor_667.sav b/api/difficulty_predictor/difficulty_predictor_667.sav new file mode 100644 index 0000000000000000000000000000000000000000..764ed753b3abb8698bb9d70e23e95ea949f68517 GIT binary patch literal 1946 zcmZ`)TWB0r7@pl^H;HM|Y)vp$jj4thFDxc4#Y?G&Bx23TR!bK|zvQqE!?X6nrW4%@_U8>_545nPc7W+LGbikPRC)$OzD zlGAnF){QV7ttn zqC4pqxsol_O%zVln zs$_=~lq=Keoa?c4IVcHkd7d?`kySTBTlDxQQv{;4{b%m9@rU+ zs`62-ODondiGI;u^g_+GEIOw#l5KyE3=IwIWQ79D2|mH-j>@4>oibG;gkobsuEg`q zg4%9|P)ySh>3Uz{M{<OeuyNV>B>y~@e=ZW^7-u7 zFMj#*tH|#n_QcOm&aeE4yocPs@_P4gr_LkqC5gA!KY8u%Pm!ldYO!--X6CKU`-$=X zsg1+4oASC3&!qMie?>k_dOluy|KcNSRZgBDM=lTFI&XbImcS4vRwI(^E7*2Ki^-({d}Wz}Jm$Ft+m!1kz2n!}?y*UM^7H@Q7h z+dR6u`xl1ZHE>1wjA}A!kb0CS5R-^FWsOGUO^DYZHY4sqY(Z>A+>6+Tm_po#cr9W( zq7F{27qPHM>rNgV*w&=CWcp+i&reZbSe}5=*U!w+O~8Gsr!+JHPI95=ylvb4rU9kT z0UH6w0owqJcE;>Hs{*qd=44wqNxIP