X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;ds=inline;f=bin%2Fmo-score;h=7fb1a509ce45666484ded930b0b8279d16c8daa0;hb=fd6beaf63f7f970ad870885f03294f946f250db2;hp=3642f93c06639150b9bc9018ac4fc07972a8d52d;hpb=74cf0de5944da1af542f32f8793cfd71f2e49c70;p=eval.git diff --git a/bin/mo-score b/bin/mo-score index 3642f93..7fb1a50 100755 --- a/bin/mo-score +++ b/bin/mo-score @@ -6,8 +6,8 @@ $html = 0; $tex = 0; $extras = 0; $alt = 0; -$split = 0; -$usage = "Usage: mo-score [--detail] [--alt] [--extras] [--html] [--tex] [--split] ..."; +$merged = 0; +$usage = "Usage: mo-score [--detail] [--alt] [--extras] [--html] [--tex] [--merged] ..."; while (($arg = $ARGV[0]) =~ /^--([a-z]+)$/) { shift @ARGV; $var = "\$$1"; @@ -64,7 +64,8 @@ foreach $u (keys %users) { $tpts = $2; $trem = $3; $trem =~ s/\[.*//; - $ttest =~ s/[^0-9]//g unless $split; + ($ttest_merged = $ttest) =~ s/[^0-9]//g; + $ttest = $ttest_merged if $merged; $known_tests{$t}{$ttest} = 1; $cmt = $tpts; if ($tpts == 0 && $trem ne "OK") { @@ -75,7 +76,6 @@ foreach $u (keys %users) { elsif ($trem =~ /^([A-Za-z])\S*\s+([A-Za-z])/) { ($cmt = "$1$2") =~ tr/a-z/A-Z/; } - elsif ($trem =~ /^Wrong answer/) { $cmt = "WA"; } if (!defined $messages{$trem}) { $messages{$trem} = $cmt; if (!defined $error_codes{$cmt}) { @@ -89,12 +89,15 @@ foreach $u (keys %users) { $results{$u}{$t}{$ttest} = $tpts; $comment{$u}{$t}{$ttest} = $cmt; } + if (!defined($results_merged{$u}{$t}{$ttest_merged}) || $results_merged{$u}{$t}{$ttest_merged} > $tpts) { + $results_merged{$u}{$t}{$ttest_merged} = $tpts; + } } close X; } foreach my $t (keys %known_tasks) { $total{$u}{$t} = 0; - foreach my $pts (values %{$results{$u}{$t}}) { $total{$u}{$t} += $pts; } + foreach my $pts (values %{$results_merged{$u}{$t}}) { $total{$u}{$t} += $pts; } } closedir D; }