Add contest support to filesystem infiles/okfiles
[gruntmaster-daemon.git] / lib / Gruntmaster / Daemon / Generator / File.pm
... / ...
CommitLineData
1package Gruntmaster::Daemon::Generator::File;
2
3use 5.014000;
4use strict;
5use warnings;
6
7use File::Copy qw/copy/;
8use File::Slurp qw/write_file/;
9use Log::Log4perl qw/get_logger/;
10
11our $VERSION = "5999.000_001";
12
13##################################################
14
15sub generate{
16 my ($test, $meta) = @_;
17 get_logger->trace("Generating test $test ...");
18 if (exists $meta->{infile}) {
19 write_file 'input', $meta->{infile}[$test - 1]
20 } else {
21 my $ct = defined $Gruntmaster::Data::contest ? "ct/$Gruntmaster::Data::contest" : '';
22 copy "/var/lib/gruntmasterd/$ct/pb/$meta->{problem}/$test.in", 'input'
23 }
24}
25
261;
27__END__
28
29=encoding utf-8
30
31=head1 NAME
32
33Gruntmaster::Daemon::Generator::File - Generate tests from files
34
35=head1 SYNOPSIS
36
37 use Gruntmaster::Daemon::Generator::File;
38 Gruntmaster::Daemon::Generator::File->generate(5, $meta);
39
40=head1 DESCRIPTION
41
42Gruntmaster::Daemon::Generator::File is a static test generator. Test C<$i> is C<< $meta->{infile}[$i - 1] >>.
43
44=head1 AUTHOR
45
46Marius Gavrilescu E<lt>marius@ieval.roE<gt>
47
48=head1 COPYRIGHT AND LICENSE
49
50Copyright (C) 2014 by Marius Gavrilescu
51
52This library is free software: you can redistribute it and/or modify
53it under the terms of the GNU Affero General Public License as published by
54the Free Software Foundation, either version 3 of the License, or
55(at your option) any later version.
56
57
58=cut
This page took 0.008884 seconds and 4 git commands to generate.