Exclude jobs sent before contest start from standings
authorMarius Gavrilescu <marius@ieval.ro>
Sun, 2 Feb 2014 10:31:11 +0000 (12:31 +0200)
committerMarius Gavrilescu <marius@ieval.ro>
Sun, 2 Feb 2014 10:31:11 +0000 (12:31 +0200)
lib/Gruntmaster/Page/St.pm

index fafded1c601dda5d63eda51851a07f568e3844ca..2100049934964b905a433176b30ca2d3502785af 100644 (file)
@@ -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;
This page took 0.011371 seconds and 4 git commands to generate.