+#------------------------------------------------------------------------
+# Compiled template generated by the Template Toolkit version 2.14
+#------------------------------------------------------------------------
+
+Template::Document->new({
+ METADATA => {
+ 'modtime' => '1127835909',
+ 'name' => 'dashboard.tt',
+ },
+ BLOCK => sub {
+ my $context = shift || die "template sub called without context\n";
+ my $stash = $context->stash;
+ my $output = '';
+ my $error;
+
+ eval { BLOCK: {
+ #line 1 "/home/community/pgbuildfarm/templates/dashboard.tt"
+ $stash->set('flag_imgs', { 'perl' => '/img/camel.png', 'python' => '/img/python.png', 'debug' => '/img/bug.png', 'pam' => '/img/pam.png', 'cassert' => '/img/cassert.png', 'openssl' => '/img/ssl_icon.gif', 'nls' => '/img/translateicon.gif', 'krb5' => '/img/krb.gif', 'tcl' => '/img/tcl.png', 'thread-safety' => '/img/threads.gif', 'integer-datetimes' => '/img/days.png' });
+
+
+ $output .= "\n<div id=\"main\">\n <h1>PostgreSQL BuildFarm Status</h1>\n <p>\n Shown here is the latest status of each farm member \n for each branch it has reported on in the last 30 days.\n </p>\n <p>\n Use the farm member link for history of that member \n on the relevant branch.\n </p>\n<table><tr><th class=\"head\" rowspan=\"2\">Legend</th>\n";
+ #line 45 "/home/community/pgbuildfarm/templates/dashboard.tt"
+
+ # FOREACH
+ do {
+ my ($value, $error, $oldloop);
+ my $list = $stash->get('flag_imgs');
+
+ unless (UNIVERSAL::isa($list, 'Template::Iterator')) {
+ $list = Template::Config->iterator($list)
+ || die $Template::Config::ERROR, "\n";
+ }
+
+ ($value, $error) = $list->get_first();
+ eval { $oldloop = $stash->get('loop') };
+ $stash->set('loop', $list);
+ eval {
+ LOOP: while (! $error) {
+ $stash->{'flagset'} = $value;
+ $output .= "\n<td><img src=\"";
+ #line 43 "/home/community/pgbuildfarm/templates/dashboard.tt"
+ $output .= $stash->get(['flagset', 0, 'value', 0]);
+ $output .= "\" title=\"";
+ #line 43 "/home/community/pgbuildfarm/templates/dashboard.tt"
+ $output .= $stash->get(['flagset', 0, 'key', 0]);
+ $output .= "\" alt=\"";
+ #line 43 "/home/community/pgbuildfarm/templates/dashboard.tt"
+ $output .= $stash->get(['flagset', 0, 'key', 0]);
+ $output .= "\" height=\"16\" width=\"16\" class=\"inline\" align=\"center\"/> = ";
+ #line 43 "/home/community/pgbuildfarm/templates/dashboard.tt"
+ $output .= $stash->get(['flagset', 0, 'key', 0]);
+ $output .= "</td>\n";
+ #line 44 "/home/community/pgbuildfarm/templates/dashboard.tt"
+ if ($stash->get(['loop', 0, 'count', 0]) eq 5) {
+ $output .= "</tr><tr>";
+ }
+
+ $output .= "\n";;
+ ($value, $error) = $list->get_next();
+ }
+ };
+ $stash->set('loop', $oldloop);
+ die $@ if $@;
+ $error = 0 if $error && $error eq Template::Constants::STATUS_DONE;
+ die $error if $error;
+ };
+
+ $output .= "\n</tr></table>\n<br />\n <table cellspacing=\"0\">\n";
+ #line 49 "/home/community/pgbuildfarm/templates/dashboard.tt"
+ $stash->set('brch', '');
+ $output .= "\n";
+ #line 81 "/home/community/pgbuildfarm/templates/dashboard.tt"
+
+ # FOREACH
+ do {
+ my ($value, $error, $oldloop);
+ my $list = $stash->get('statrows');
+
+ unless (UNIVERSAL::isa($list, 'Template::Iterator')) {
+ $list = Template::Config->iterator($list)
+ || die $Template::Config::ERROR, "\n";
+ }
+
+ ($value, $error) = $list->get_first();
+ eval { $oldloop = $stash->get('loop') };
+ $stash->set('loop', $list);
+ eval {
+ LOOP: while (! $error) {
+ $stash->{'row'} = $value;
+ $output .= "\n";
+ #line 54 "/home/community/pgbuildfarm/templates/dashboard.tt"
+ if ($stash->get(['row', 0, 'branch', 0]) ne $stash->get('brch')) {
+ #line 51 "/home/community/pgbuildfarm/templates/dashboard.tt"
+ $stash->set('brch', $stash->get(['row', 0, 'branch', 0]));
+ $output .= "\n<tr><th class=\"head\" colspan=\"4\">Branch: ";
+ #line 52 "/home/community/pgbuildfarm/templates/dashboard.tt"
+ $output .= $stash->get('brch');
+ $output .= "</th></tr>\n<tr><th>Alias</th><th>System</th><th>Status</th><th>Flags</th></tr>\n";
+ }
+
+ $output .= "\n<tr ";
+ #line 55 "/home/community/pgbuildfarm/templates/dashboard.tt"
+ $output .= $context->process('cl', { 'bgfor' => $stash->get(['row', 0, 'stage', 0]) });
+ $output .= ">\n <td><a \n href=\"show_history.pl?nm=";
+ #line 57 "/home/community/pgbuildfarm/templates/dashboard.tt"
+ $output .= $stash->get(['row', 0, 'sysname', 0]);
+ $output .= "&br=";
+ #line 57 "/home/community/pgbuildfarm/templates/dashboard.tt"
+ $output .= $stash->get(['row', 0, 'branch', 0]);
+ $output .= "\"\n title=\"History\"\n >";
+ #line 59 "/home/community/pgbuildfarm/templates/dashboard.tt"
+ $output .= $stash->get(['row', 0, 'sysname', 0]);
+ $output .= "</a></td>\n <td><span class=\"opsys\">";
+ #line 60 "/home/community/pgbuildfarm/templates/dashboard.tt"
+ $output .= $stash->get(['row', 0, 'operating_system', 0]);
+ $output .= "\n ";
+ #line 61 "/home/community/pgbuildfarm/templates/dashboard.tt"
+ $output .= $stash->get(['row', 0, 'os_version', 0]);
+ $output .= "</span> <span class=\"compiler\">";
+ #line 63 "/home/community/pgbuildfarm/templates/dashboard.tt"
+ $output .= $stash->get(['row', 0, 'compiler', 0]);
+ $output .= "\n ";
+ #line 64 "/home/community/pgbuildfarm/templates/dashboard.tt"
+ $output .= $stash->get(['row', 0, 'compiler_version', 0]);
+ $output .= "</span> <span class=\"arch\">";
+ #line 66 "/home/community/pgbuildfarm/templates/dashboard.tt"
+ $output .= $stash->get(['row', 0, 'architecture', 0]);
+ $output .= "</span></td>\n <td class=\"status\">";
+ #line 69 "/home/community/pgbuildfarm/templates/dashboard.tt"
+
+ # FILTER
+ $output .= do {
+ my $output = '';
+ my $filter = $context->filter('replace', [ '\s', ' ' ])
+ || $context->throw($context->error);
+
+ $output .= $stash->get(['row', 0, 'when_ago', 0]);
+
+ &$filter($output);
+ };
+
+ $output .= " ago \n ";
+ #line 70 "/home/community/pgbuildfarm/templates/dashboard.tt"
+ $output .= $stash->get(['row', 0, 'stage', 0]);
+ $output .= " <a href=\"show_log.pl?nm=";
+ #line 73 "/home/community/pgbuildfarm/templates/dashboard.tt"
+ $output .= $stash->get(['row', 0, 'sysname', 0]);
+ $output .= "&dt=";
+ #line 75 "/home/community/pgbuildfarm/templates/dashboard.tt"
+
+ # FILTER
+ $output .= do {
+ my $output = '';
+ my $filter = $context->filter('uri')
+ || $context->throw($context->error);
+
+ $output .= $stash->get(['row', 0, 'snapshot', 0]);
+
+ &$filter($output);
+ };
+
+ $output .= "\">";
+ #line 77 "/home/community/pgbuildfarm/templates/dashboard.tt"
+ if ($stash->get(['row', 0, 'stage', 0]) ne 'OK') {
+ $output .= "Details";
+ }
+ else {
+ $output .= "Config";
+ }
+
+ $output .= "</a></td>\n\n <td class=\"flags\">";
+ #line 79 "/home/community/pgbuildfarm/templates/dashboard.tt"
+
+ # FOREACH
+ do {
+ my ($value, $error, $oldloop);
+ my $list = $stash->get(['row', 0, 'build_flags', 0, 'split', 0, 'sort', 0]);
+
+ unless (UNIVERSAL::isa($list, 'Template::Iterator')) {
+ $list = Template::Config->iterator($list)
+ || die $Template::Config::ERROR, "\n";
+ }
+
+ ($value, $error) = $list->get_first();
+ eval { $oldloop = $stash->get('loop') };
+ $stash->set('loop', $list);
+ eval {
+ LOOP: while (! $error) {
+ $stash->{'flag'} = $value;
+ #line 79 "/home/community/pgbuildfarm/templates/dashboard.tt"
+ $output .= $context->process('img');;
+ ($value, $error) = $list->get_next();
+ }
+ };
+ $stash->set('loop', $oldloop);
+ die $@ if $@;
+ $error = 0 if $error && $error eq Template::Constants::STATUS_DONE;
+ die $error if $error;
+ };
+
+ $output .= "</td>\n</tr>\n";;
+ ($value, $error) = $list->get_next();
+ }
+ };
+ $stash->set('loop', $oldloop);
+ die $@ if $@;
+ $error = 0 if $error && $error eq Template::Constants::STATUS_DONE;
+ die $error if $error;
+ };
+
+ $output .= "\n </table>\n</div>\n\n";
+ } };
+ if ($@) {
+ $error = $context->catch($@, \$output);
+ die $error unless $error->type eq 'return';
+ }
+
+ return $output;
+ },
+ DEFBLOCKS => {
+ 'cl' => sub {
+ my $context = shift || die "template sub called without context\n";
+ my $stash = $context->stash;
+ my $output = '';
+ my $error;
+
+ eval { BLOCK: {
+ $output .= " class=\"";
+ #line 27 "/home/community/pgbuildfarm/templates/dashboard.tt"
+
+ # SWITCH
+ do {
+ my $result = $stash->get('bgfor');
+ my $match;
+ SWITCH: {
+ $match = 'OK';
+ $match = [ $match ] unless ref $match eq 'ARRAY';
+ if (grep(/^$result$/, @$match)) {
+ $output .= "pass";
+ last SWITCH;
+ }
+ $match = 'ContribCheck';
+ $match = [ $match ] unless ref $match eq 'ARRAY';
+ if (grep(/^$result$/, @$match)) {
+ $output .= "warn";
+ last SWITCH;
+ }
+ $match = [ 'Check', 'InstallCheck' ];
+ $match = [ $match ] unless ref $match eq 'ARRAY';
+ if (grep(/^$result$/, @$match)) {
+ $output .= "warnx";
+ last SWITCH;
+ }
+ $output .= "fail";
+ }
+ };
+
+ $output .= "\"";
+ } };
+ if ($@) {
+ $error = $context->catch($@, \$output);
+ die $error unless $error->type eq 'return';
+ }
+
+ return $output;
+ },
+ 'img' => sub {
+ my $context = shift || die "template sub called without context\n";
+ my $stash = $context->stash;
+ my $output = '';
+ my $error;
+
+ eval { BLOCK: {
+ #line 22 "/home/community/pgbuildfarm/templates/dashboard.tt"
+ if ($stash->get('flag') eq 'depend' || $stash->get('flag') eq 'gnu-ld') {
+
+ }
+ elsif ($stash->get(['flag_imgs', 0, $stash->get('flag'), 0])) {
+ #line 22 "/home/community/pgbuildfarm/templates/dashboard.tt"
+
+ # FILTER
+ $output .= do {
+ my $output = '';
+ my $filter = $context->filter('collapse')
+ || $context->throw($context->error);
+
+ $output .= "<img src=\"";
+ #line 19 "/home/community/pgbuildfarm/templates/dashboard.tt"
+ $output .= $stash->get(['flag_imgs', 0, $stash->get('flag'), 0]);
+ $output .= "\" \n title=\"";
+ #line 20 "/home/community/pgbuildfarm/templates/dashboard.tt"
+ $output .= $stash->get('flag');
+ $output .= "\" alt=\"";
+ #line 20 "/home/community/pgbuildfarm/templates/dashboard.tt"
+ $output .= $stash->get('flag');
+ $output .= "\" \n height=\"16\" width=\"16\" class=\"inline\" align=\"bottom\" /> \n ";
+
+ &$filter($output);
+ };
+
+ }
+
+ } };
+ if ($@) {
+ $error = $context->catch($@, \$output);
+ die $error unless $error->type eq 'return';
+ }
+
+ return $output;
+ },
+ },
+});