当system_error的时候不再更新排名

This commit is contained in:
virusdefender 2016-03-29 20:10:59 +08:00
parent 4c7c673f2f
commit 6bf9e8017d

View File

@ -1,4 +1,6 @@
# coding=utf-8
import logging
from django.db import models
from django.utils.timezone import now
@ -20,6 +22,9 @@ CONTEST_ENDED = -1
CONTEST_UNDERWAY = 0
logger = logging.getLogger("app_info")
class Contest(models.Model):
title = models.CharField(max_length=40, unique=True)
description = RichTextField()
@ -91,6 +96,10 @@ class ContestRank(models.Model):
if not submission.contest_id or submission.contest_id != self.contest_id:
raise ValueError("Error submission type")
if submission.result == result["system_error"]:
logger.warning("submission " + submission.id + " result is system error, update rank operation is ignored")
return
# 这道题以前提交过
if str(submission.problem_id) in self.submission_info:
info = self.submission_info[str(submission.problem_id)]