Add PHP
[gruntmaster-daemon.git] / lib / Gruntmaster / Daemon.pm
index e96690ef4da04816dbd51b3af2db21ab697deccb..b6d3a522f5935d6585dc612901b1d51634724648 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,22 @@ use Try::Tiny;
 use Log::Log4perl qw/get_logger/;
 
 use constant FORMAT_EXTENSION => {
+       BRAINFUCK => 'bf',
        C => 'c',
        CPP => 'cpp',
        GCCGO => 'go',
        GOLANG => 'go',
        GOLFSCRIPT => 'gs',
        HASKELL => 'hs',
-       MONO => 'cs',
        JAVA => 'java',
+       JULIA => 'jl',
+       MONO => 'cs',
        PASCAL => 'pas',
        PERL => 'pl',
+       PHP => 'php',
        PYTHON => 'py',
        RUBY => 'rb',
+       RUST => 'rs',
        SBCL => 'l',
 };
 
@@ -105,7 +109,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 +125,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.011052 seconds and 4 git commands to generate.