From: Marius Gavrilescu Date: Sun, 2 Feb 2014 10:31:11 +0000 (+0200) Subject: Exclude jobs sent before contest start from standings X-Git-Url: http://git.ieval.ro/?a=commitdiff_plain;h=a90230ea14d4f5e2c93528830deed883d5afdbc2;p=plack-app-gruntmaster.git Exclude jobs sent before contest start from standings --- diff --git a/lib/Gruntmaster/Page/St.pm b/lib/Gruntmaster/Page/St.pm index fafded1..2100049 100644 --- a/lib/Gruntmaster/Page/St.pm +++ b/lib/Gruntmaster/Page/St.pm @@ -46,12 +46,13 @@ sub calc_score{ sub _generate{ my ($self, $htc, $path, $lang) = @_; - my $totaltime; + my ($totaltime, $start); $path =~ m,^(?:ct/([^/]+)/)?,; local $Gruntmaster::Data::contest; if ($1) { - $totaltime = contest_end ($1) - contest_start ($1); + $start = contest_start ($1); + $totaltime = contest_end ($1) - $start; $Gruntmaster::Data::contest = $1; } @@ -61,7 +62,7 @@ sub _generate{ for (1 .. jobcard) { if ($Gruntmaster::Data::contest) { $tries{job_user()}{job_problem()}++; - $scores{job_user()}{job_problem()} = job_result() ? 0 : calc_score (job_user(), job_problem(), job_date(), $tries{job_user()}{job_problem()}, $totaltime); + $scores{job_user()}{job_problem()} = job_result() ? 0 : calc_score (job_user(), job_problem(), job_date(), $tries{job_user()}{job_problem()}, $totaltime) if job_date() > $start; } else { if (job_result_text =~ m/^(\d+)/) { $scores{job_user()}{job_problem()} = $1;