#! /usr/bin/env perl
use v5.10.1;
use strict;
use warnings;
use Getopt::Long;
use Pod::Usage;
use lib "..";
use ACU::Defense;
use ACU::Grading;
use ACU::Log;
use ACU::Trace;
my $grade = Grading->new();
my $lastid = "";
do {
my $name = shift;
my $file;
if (-f $name) {
$file = $name;
$name = "rendu-1";
}
else {
$file = shift;
my $id_name = $name;
$id_name =~ s/[^a-zA-Z0-9_]/_/g;
my $xml;
open $xml, "<", $file or die $!;
binmode $xml;
my $trace;
eval {
$trace = Trace->new($xml);
};
if ($@) {
$trace = Defense->new($xml);
log ERROR, "Unknown file type: $file";
close $xml unless $xml eq *STDIN;
$grade->create_from_trace($id_name, $name, $trace);
} while ($#ARGV >= 0);
print $grade->to_string();