use constant TITLE => 'Job <tmpl_var id>';
-use Fcntl qw/:flock/;
use HTML::Template::Compiled;
-use IO::File;
use POSIX qw/strftime/;
-use YAML::Any qw/LoadFile/;
use Gruntmaster::Page::Common qw/header footer/;
+use Gruntmaster::Data qw/job_results/;
my %templates = (
- en => <<'HTML',
+ en => <<'HTML',
<table border>
<thead>
<tr><th>Test number<th>Result<th>Time
$templates{$_} .= footer $_ for keys %templates;
sub generate{
- my ($path, $lang) = @_;
- my $id = ($path =~ m,log/(.*)/index,)[0];
- $path =~ s,/index\.html,,;
- my $template = $templates{$lang};
-
- my $htc = HTML::Template::Compiled->new(scalarref => \$template);
- flock my $metafh = IO::File->new("<$path/meta.yml"), LOCK_SH;
- my $meta = LoadFile "$path/meta.yml";
-
- my @tests = map {
- $_->{time} = sprintf "%.4fs", $_->{time};
- $_
- } @{$meta->{results}};
-
- $htc->param(id => $id);
- $htc->param(tests => \@tests);
- $htc->output
+ $_[0] =~ m,^(?:ct/([^/]+)/)?log/job/([^/]+)\.html$,;
+ local $Gruntmaster::Data::contest = $1;
+ my $id = $2;
+
+ my $htc = HTML::Template::Compiled->new(scalarref => \$templates{$_[1]});
+
+ my @tests = map {
+ $_->{time} = sprintf "%.4fs", $_->{time};
+ $_
+ } @{job_results $id};
+
+ $htc->param(id => $id);
+ $htc->param(tests => \@tests);
+ $htc->output
}
1