diff --git a/process/projects/gen_grading.pl b/process/projects/gen_grading.pl index 2aee444..d6c65ff 100644 --- a/process/projects/gen_grading.pl +++ b/process/projects/gen_grading.pl @@ -35,10 +35,13 @@ sub process my $grade = Grading->new(); + my @defenses; # Create defenses groups opendir(my $dh, "$basedir/$year/$project_id/defenses/") or croak "can't opendir $basedir/$year/$project_id/defenses/: $!"; for my $sout (grep { ( ! /^\./ ) && -f "$basedir/$year/$project_id/defenses/$_" } readdir($dh)) { + push @defenses, $sout; + open my $xml, "<", "$basedir/$year/$project_id/defenses/$sout" or die $!; binmode $xml; @@ -47,7 +50,12 @@ sub process my $defense = Defense->new($str); - $grade->create_from_ids($sout, $defense->getIds()); + my $ids = $defense->getIds(); + + $ids->{'def_end_$LOGIN'} = undef; + $ids->{'def_end_group'} = undef; + + $grade->create_from_ids($sout, $ids); } closedir $dh; @@ -55,6 +63,8 @@ sub process opendir($dh, "$basedir/$year/$project_id/traces/") or croak "can't opendir $basedir/$year/$project_id/traces/: $!"; for my $dir (grep { ( ! /^\./ ) && -d "$basedir/$year/$project_id/traces/$_" } readdir($dh)) { + next if (! grep { $dir eq "defense_$_" } @defenses); + my $ids = {}; opendir(my $dhm, "$basedir/$year/$project_id/traces/$dir") or croak "can't opendir $basedir/$year/$project_id/traces/$dir: $!";