Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions api/controllers/problem/update_problem.py
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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)
Expand All @@ -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)
Expand Down
Binary file not shown.
2 changes: 1 addition & 1 deletion api/difficulty_predictor/predictor.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

# Read sav

with open('./api/difficulty_predictor/difficulty_predictor.sav', 'rb') as f:
with open('./api/difficulty_predictor/difficulty_predictor_667.sav', 'rb') as f:
difficulty = pickle.load(f)

# Predict some model
Expand Down
12 changes: 11 additions & 1 deletion api/views/script.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,10 +66,20 @@
# problem.save()
# return Response({'message': 'Success!'},status=status.HTTP_201_CREATED)

# @api_view([POST])
# def run_script(request):
# problems = Problem.objects.all()
# for problem in problems:
# update_problem_difficulty(problem)

# return Response({'message': 'Success!'},status=status.HTTP_201_CREATED)

@api_view([POST])
def run_script(request):
problems = Problem.objects.all()
for problem in problems:
update_problem_difficulty(problem)
if problem.language == "py":
problem.language = "python"
problem.save()

return Response({'message': 'Success!'},status=status.HTTP_201_CREATED)