Archived
1
0
Fork 0

Grading generation ok

This commit is contained in:
Mercier Pierre-Olivier 2013-09-24 05:14:16 +02:00
commit 80147e449f

View file

@ -5,6 +5,7 @@ use strict;
use warnings; use warnings;
use Carp; use Carp;
use Pod::Usage; use Pod::Usage;
use Text::ParseWords;
use lib "../../"; use lib "../../";
@ -20,10 +21,10 @@ our $basedir = "/intradata";
sub process sub process
{ {
my $given_args = shift; my $given_args = shift;
my @args = shift; my @args = shellwords(${ shift() });
my $project_id = shift @args; my $project_id = shift @args;
my $year = shift @args // LDAP::get_year(); my $year = shift @args // LDAP::get_year;
# Project existing? # Project existing?
if (! -d "$basedir/$year/$project_id") if (! -d "$basedir/$year/$project_id")
@ -38,7 +39,13 @@ sub process
opendir(my $dh, "$basedir/$year/$project_id/defenses/") or croak "can't opendir $basedir/$year/$project_id/defenses/: $!"; 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)) for my $sout (grep { ( ! /^\./ ) && -f "$basedir/$year/$project_id/defenses/$_" } readdir($dh))
{ {
my $defense = Defense->new("$basedir/$year/$project_id/defenses/$_"); open my $xml, "<", "$basedir/$year/$project_id/defenses/$sout" or die $!;
binmode $xml;
my $str;
$str .= $_ while (<$xml>);
my $defense = Defense->new($str);
$grade->create_from_ids($sout, $defense->getIds()); $grade->create_from_ids($sout, $defense->getIds());
} }
@ -53,7 +60,10 @@ sub process
opendir(my $dhm, "$basedir/$year/$project_id/traces/$dir") or croak "can't opendir $basedir/$year/$project_id/traces/$dir: $!"; opendir(my $dhm, "$basedir/$year/$project_id/traces/$dir") or croak "can't opendir $basedir/$year/$project_id/traces/$dir: $!";
for my $login (grep { ( ! /^\./ ) && -f "$basedir/$year/$project_id/traces/$dir/$_" } readdir($dhm)) for my $login (grep { ( ! /^\./ ) && -f "$basedir/$year/$project_id/traces/$dir/$_" } readdir($dhm))
{ {
my $trace = Trace->new("$basedir/$year/$project_id/traces/$dir/$_"); open my $xml, "<", "$basedir/$year/$project_id/traces/$dir/$login" or die $!;
binmode $xml;
my $trace = Trace->new($xml);
my %tids = %{ $trace->getIds() }; my %tids = %{ $trace->getIds() };
for my $kid (keys %tids) for my $kid (keys %tids)
@ -62,7 +72,7 @@ sub process
} }
} }
$grade->create_from_ids($_, $ids); $grade->create_from_ids($dir, $ids);
} }
closedir $dh; closedir $dh;