Add contest (multispace) support
[gruntmaster-daemon.git] / lib / Gruntmaster / Daemon.pm
index bc2518e8a6d4961c62c496ddc66c2ca772975175..ebab95cd5db8aa27dfc1c1996d50012d78fbc45d 100644 (file)
@@ -118,23 +118,23 @@ sub process{
   # Clean up
   get_logger->info("Job result: " . $meta->{result_text});
   delete $meta->{files}{$_}{run} for keys $meta->{files};
-  $meta->{date} = time;
   $meta->{results} = \@full_results if scalar @full_results;
   DumpFile "meta.yml", $meta;
   for (<*>) {
        unlink $_ unless $_ eq 'in' || $_ eq 'meta.yml' || ($_ eq 'compile-error' && -s);
   }
   chdir '../..';
-  mkdir 'log' unless -d 'log';
-  IO::File->new('>log/meta.yml')->close unless -f 'log/meta.yml';
-  flock my $logmetafh = IO::File->new('<log/meta.yml'), LOCK_EX;
-  my $logmeta = LoadFile 'log/meta.yml';
+  my $log = exists $meta->{contest} ? "ct/$meta->{contest}/log" : 'log';
+  mkdir $log unless -d $log;
+  IO::File->new(">$log/meta.yml")->close unless -f "$log/meta.yml";
+  flock my $logmetafh = IO::File->new("<$log/meta.yml"), LOCK_EX;
+  my $logmeta = LoadFile "$log/meta.yml";
   $logmeta->{last}++;
-  rename $dir, 'log/' . $logmeta->{last};
-  generate 'log/' . $logmeta->{last} . '/index.html';
-  DumpFile 'log/meta.yml', $logmeta;
+  rename $dir, "$log/$logmeta->{last}";
+  generate "$log/$logmeta->{last}/index.html";
+  DumpFile "$log/meta.yml", $logmeta;
   undef $logmetafh;
-  generate 'log/index.html'
+  generate "$log/index.html"
 }
 
 sub run{
This page took 0.010028 seconds and 4 git commands to generate.