Integrate final grade into grade.xml
This commit is contained in:
parent
f4ce8c79e0
commit
8ecbd779d0
2 changed files with 10 additions and 13 deletions
|
@ -161,16 +161,11 @@ sub computeXML ($;$)
|
||||||
|
|
||||||
my $doc = XML::LibXML::Document->new('1.0');
|
my $doc = XML::LibXML::Document->new('1.0');
|
||||||
my $root = $doc->createElement("grading");
|
my $root = $doc->createElement("grading");
|
||||||
my $final = $doc->createElement("grade");
|
|
||||||
|
|
||||||
for my $grade (@{ $self->{tree} }) {
|
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}) );
|
$root->addChild( $doc->createAttribute("max", $self->{max}) );
|
||||||
|
|
||||||
$doc->setDocumentElement( $root );
|
$doc->setDocumentElement( $root );
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
use v5.10.1;
|
use v5.10.1;
|
||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
use Carp;
|
||||||
use Pod::Usage;
|
use Pod::Usage;
|
||||||
|
|
||||||
use lib "../../";
|
use lib "../../";
|
||||||
|
@ -76,13 +77,14 @@ sub grades_generate
|
||||||
}
|
}
|
||||||
else
|
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))
|
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))
|
for my $login (grep { ( ! /^\./ ) && -f "$basedir/$year/$project_id/traces/$dir/$_" } readdir($dhm))
|
||||||
{
|
{
|
||||||
|
$login = s/\.xml$//;
|
||||||
if (! grep { /^\Q$login\E$/ } @logins) {
|
if (! grep { /^\Q$login\E$/ } @logins) {
|
||||||
push @logins, $login;
|
push @logins, $login;
|
||||||
}
|
}
|
||||||
|
@ -105,13 +107,13 @@ sub grades_generate
|
||||||
return "Invalid grading.xml received!";
|
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: $!";
|
opendir(my $dh, "$basedir/$year/$project_id/traces/") or croak "can't opendir $basedir/$year/$project_id/traces/: $!";
|
||||||
@trace_dirs = grep { ( ! /^\./ ) && -d "$basedir/$year/$project_id/traces/$_" } readdir($dh);
|
my @trace_dirs = grep { ( ! /^\./ ) && -d "$basedir/$year/$project_id/traces/$_" } readdir($dh);
|
||||||
closedir $dh;
|
closedir $dh;
|
||||||
|
|
||||||
for my $login (@login)
|
for my $login (@logins)
|
||||||
{
|
{
|
||||||
for my $dir (@trace_dirs)
|
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";
|
open my $xmlgrade, ">", "$basedir/$year/$project_id/grades/$login.xml" or croak "grades/$login.xml";
|
||||||
binmode $xmlgrade;
|
binmode $xmlgrade;
|
||||||
print $xmlgrade $grade->computeXML($login);
|
print $xmlgrade $grading->computeXML($login);
|
||||||
close $xmlgrade;
|
close $xmlgrade;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Reference in a new issue