Пример #1
0
 def update_submission_score(self, submission):
     try:
         report = SubmissionReport.objects.get(submission=submission,
                 status='ACTIVE', kind='FULL')
         score_report = report.score_report
         if score_report.status in IGNORED_STATUSES:
             submission.score = None
         else:
             submission.score = BinaryScore(score_report.status == 'OK')
         submission.status = score_report.status
     except SubmissionReport.DoesNotExist:
         submission.score = None
         if SubmissionReport.objects.filter(submission=submission,
                 status='ACTIVE', kind='FAILURE'):
             submission.status = 'SE'
         else:
             submission.status = '?'
     submission.save()
Пример #2
0
def acm_score_aggregator(group_results):
    if not group_results:
        return None, None, 'OK'
    status = aggregate_statuses([result['status']
            for result in group_results.itervalues()])
    return BinaryScore(status == 'OK'), BinaryScore(True), status