Archived
1
0
Fork 0

Integrate final grade into grade.xml

This commit is contained in:
Mercier Pierre-Olivier 2013-09-21 16:16:34 +02:00
parent f4ce8c79e0
commit 8ecbd779d0
2 changed files with 10 additions and 13 deletions

View file

@ -161,16 +161,11 @@ sub computeXML ($;$)
my $doc = XML::LibXML::Document->new('1.0');
my $root = $doc->createElement("grading");
my $final = $doc->createElement("grade");
for my $grade (@{ $self->{tree} }) {
my $tmp = $grade->compute($self->{operators}, $self->{ids}, $doc, $final);
my $tmp = $grade->compute($self->{operators}, $self->{ids}, $doc, $root);
}
$final->addChild( $doc->createAttribute("value", $self->compute()) );
$final->addChild( $doc->createAttribute("name", "Note finale") );
$root->appendChild( $final );
$root->addChild( $doc->createAttribute("max", $self->{max}) );
$doc->setDocumentElement( $root );

View file

@ -3,6 +3,7 @@
use v5.10.1;
use strict;
use warnings;
use Carp;
use Pod::Usage;
use lib "../../";
@ -76,13 +77,14 @@ sub grades_generate
}
else
{
opendir(my $dh, "$basedir/$year/$project_id/traces/") or croak "can't opendir $some_dir: $!";
opendir(my $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))
{
opendir(my $dhm, "$basedir/$year/$project_id/traces/$dir") or croak "can't opendir $some_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))
{
$login = s/\.xml$//;
if (! grep { /^\Q$login\E$/ } @logins) {
push @logins, $login;
}
@ -105,13 +107,13 @@ sub grades_generate
return "Invalid grading.xml received!";
}
my $grading = Grading->new($grading);
$grading = Grading->new($grading);
opendir(my $dh, "$basedir/$year/$project_id/traces/") or croak "can't opendir $some_dir: $!";
@trace_dirs = grep { ( ! /^\./ ) && -d "$basedir/$year/$project_id/traces/$_" } readdir($dh);
opendir(my $dh, "$basedir/$year/$project_id/traces/") or croak "can't opendir $basedir/$year/$project_id/traces/: $!";
my @trace_dirs = grep { ( ! /^\./ ) && -d "$basedir/$year/$project_id/traces/$_" } readdir($dh);
closedir $dh;
for my $login (@login)
for my $login (@logins)
{
for my $dir (@trace_dirs)
{
@ -128,7 +130,7 @@ sub grades_generate
open my $xmlgrade, ">", "$basedir/$year/$project_id/grades/$login.xml" or croak "grades/$login.xml";
binmode $xmlgrade;
print $xmlgrade $grade->computeXML($login);
print $xmlgrade $grading->computeXML($login);
close $xmlgrade;
}