2017-11-24 02:27:34 +00:00
|
|
|
from account.decorators import super_admin_required
|
|
|
|
from judge.tasks import judge_task
|
|
|
|
# from judge.dispatcher import JudgeDispatcher
|
|
|
|
from utils.api import APIView
|
2018-03-27 05:53:30 +00:00
|
|
|
from ..models import Submission
|
2017-11-24 02:27:34 +00:00
|
|
|
|
|
|
|
|
|
|
|
class SubmissionRejudgeAPI(APIView):
|
|
|
|
@super_admin_required
|
|
|
|
def get(self, request):
|
|
|
|
id = request.GET.get("id")
|
|
|
|
if not id:
|
2018-03-27 05:14:11 +00:00
|
|
|
return self.error("Parameter error, id is required")
|
2017-11-24 02:27:34 +00:00
|
|
|
try:
|
|
|
|
submission = Submission.objects.select_related("problem").get(id=id, contest_id__isnull=True)
|
|
|
|
except Submission.DoesNotExist:
|
|
|
|
return self.error("Submission does not exists")
|
|
|
|
submission.info = {}
|
|
|
|
submission.statistic_info = {}
|
|
|
|
submission.save()
|
|
|
|
|
2018-03-27 05:53:30 +00:00
|
|
|
judge_task.delay(submission.id, submission.problem.id)
|
2017-11-24 02:27:34 +00:00
|
|
|
return self.success()
|