Add Oberon
[gruntmaster-daemon.git] / lib / Gruntmaster / Daemon.pm
index e96690ef4da04816dbd51b3af2db21ab697deccb..8e6cbf38d557ca3438a619f71d7bed9ae8981b11 100644 (file)
@@ -4,7 +4,7 @@ use 5.014000;
 use strict;
 use warnings;
 
-our $VERSION = '5999.000_004';
+our $VERSION = '5999.000_005';
 
 use Gruntmaster::Daemon::Constants qw/ERR/;
 use Gruntmaster::Daemon::Format qw/prepare_files stopvms/;
@@ -18,18 +18,25 @@ use Try::Tiny;
 use Log::Log4perl qw/get_logger/;
 
 use constant FORMAT_EXTENSION => {
+       BRAINFUCK => 'bf',
        C => 'c',
        CPP => 'cpp',
+       D => 'd',
        GCCGO => 'go',
        GOLANG => 'go',
        GOLFSCRIPT => 'gs',
        HASKELL => 'hs',
-       MONO => 'cs',
        JAVA => 'java',
+       JULIA => 'jl',
+       MONO => 'cs',
+       OBERON => 'm',
+       OCAML => 'ml',
        PASCAL => 'pas',
        PERL => 'pl',
+       PHP => 'php',
        PYTHON => 'py',
        RUBY => 'rb',
+       RUST => 'rs',
        SBCL => 'l',
 };
 
@@ -105,7 +112,7 @@ sub process{
 
 sub process_job {
        my ($job) = @_;
-       my $pb = problem_full($job->{problem});
+       my $pb = db()->select('problems', '*', {id => $job->{problem}})->hash;
        my $meta = {
                problem => $job->{problem},
                files => {
@@ -121,7 +128,7 @@ sub process_job {
        $meta->{timeout} = $timeout_override if defined $timeout_override;
        $meta->{tests} = decode_json $pb->{tests} if $meta->{runner} eq 'File';
        $job->{contest} &&= contest_entry($job->{contest});
-       delete $meta->{precnt} unless $job->{contest} && $job->{contest}{started} && !$job->{contest}{finished};
+       delete $meta->{precnt} unless $job->{contest} && $job->{contest}{started} && !$job->{contest}{finished}; ## no critic (ProhibitNegativeExpressionsInUnlessAndUntilConditions)
        $meta->{testcnt} = $meta->{precnt} if $meta->{precnt};
 
        $meta->{files}{ver} = {
This page took 0.01092 seconds and 4 git commands to generate.