Reformat using black
This commit is contained in:
parent
efee4ad081
commit
a87fb49918
221 changed files with 19127 additions and 7310 deletions
|
@ -5,7 +5,7 @@ from django.utils.translation import gettext as _
|
|||
from judge.models import Problem, Profile, Submission
|
||||
from judge.utils.celery import Progress
|
||||
|
||||
__all__ = ('apply_submission_filter', 'rejudge_problem_filter', 'rescore_problem')
|
||||
__all__ = ("apply_submission_filter", "rejudge_problem_filter", "rescore_problem")
|
||||
|
||||
|
||||
def apply_submission_filter(queryset, id_range, languages, results):
|
||||
|
@ -21,7 +21,9 @@ def apply_submission_filter(queryset, id_range, languages, results):
|
|||
|
||||
|
||||
@shared_task(bind=True)
|
||||
def rejudge_problem_filter(self, problem_id, id_range=None, languages=None, results=None):
|
||||
def rejudge_problem_filter(
|
||||
self, problem_id, id_range=None, languages=None, results=None
|
||||
):
|
||||
queryset = Submission.objects.filter(problem_id=problem_id)
|
||||
queryset = apply_submission_filter(queryset, id_range, languages, results)
|
||||
|
||||
|
@ -40,27 +42,37 @@ def rescore_problem(self, problem_id):
|
|||
problem = Problem.objects.get(id=problem_id)
|
||||
submissions = Submission.objects.filter(problem_id=problem_id)
|
||||
|
||||
with Progress(self, submissions.count(), stage=_('Modifying submissions')) as p:
|
||||
with Progress(self, submissions.count(), stage=_("Modifying submissions")) as p:
|
||||
rescored = 0
|
||||
for submission in submissions.iterator():
|
||||
submission.points = round(submission.case_points / submission.case_total * problem.points
|
||||
if submission.case_total else 0, 1)
|
||||
submission.points = round(
|
||||
submission.case_points / submission.case_total * problem.points
|
||||
if submission.case_total
|
||||
else 0,
|
||||
1,
|
||||
)
|
||||
if not problem.partial and submission.points < problem.points:
|
||||
submission.points = 0
|
||||
submission.save(update_fields=['points'])
|
||||
submission.save(update_fields=["points"])
|
||||
submission.update_contest()
|
||||
rescored += 1
|
||||
if rescored % 10 == 0:
|
||||
p.done = rescored
|
||||
|
||||
with Progress(self, submissions.values('user_id').distinct().count(), stage=_('Recalculating user points')) as p:
|
||||
with Progress(
|
||||
self,
|
||||
submissions.values("user_id").distinct().count(),
|
||||
stage=_("Recalculating user points"),
|
||||
) as p:
|
||||
users = 0
|
||||
profiles = Profile.objects.filter(id__in=submissions.values_list('user_id', flat=True).distinct())
|
||||
profiles = Profile.objects.filter(
|
||||
id__in=submissions.values_list("user_id", flat=True).distinct()
|
||||
)
|
||||
for profile in profiles.iterator():
|
||||
profile._updating_stats_only = True
|
||||
profile.calculate_points()
|
||||
cache.delete('user_complete:%d' % profile.id)
|
||||
cache.delete('user_attempted:%d' % profile.id)
|
||||
cache.delete("user_complete:%d" % profile.id)
|
||||
cache.delete("user_attempted:%d" % profile.id)
|
||||
users += 1
|
||||
if users % 10 == 0:
|
||||
p.done = users
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue