Start moulette_get process
This commit is contained in:
parent
42a73c9031
commit
a5fb66040b
2 changed files with 198 additions and 0 deletions
91
process/files/moulette_get.pl
Normal file
91
process/files/moulette_get.pl
Normal file
|
@ -0,0 +1,91 @@
|
|||
#! /usr/bin/env perl
|
||||
|
||||
use v5.10.1;
|
||||
use strict;
|
||||
use warnings;
|
||||
use Pod::Usage;
|
||||
use File::Temp;
|
||||
|
||||
use ACU::Log;
|
||||
use ACU::Process;
|
||||
|
||||
my %actions = (
|
||||
"tar" => \&receive_tar,
|
||||
"git" => \&receive_tar, # \&receive_git
|
||||
|
||||
"tests" => \&create_testsuite,
|
||||
"moulette" => \&moulette,
|
||||
);
|
||||
|
||||
sub receive_tar
|
||||
{
|
||||
my $project_id = $args->{param}{id};
|
||||
my $year = $args->{param}{year};
|
||||
my $rendu = $args->{param}{rendu};
|
||||
my $file = $args->{param}{file};
|
||||
|
||||
if (!exists $args->{files}{$file}) {
|
||||
return "No file named '$file' given".
|
||||
}
|
||||
|
||||
($fh, $filename) = tempfile(SUFFIX => $file);
|
||||
binmode($fh);
|
||||
print $fh $args->{files}{$file};
|
||||
close $fh;
|
||||
|
||||
# TODO: Call Fact for create .ff
|
||||
|
||||
return "Ok"
|
||||
}
|
||||
|
||||
sub create_testsuite
|
||||
{
|
||||
my $project_id = $args->{param}{id};
|
||||
my $year = $args->{param}{year};
|
||||
my $rendu = $args->{param}{rendu};
|
||||
my $file = $args->{param}{file};
|
||||
|
||||
($fh, $filename) = tempfile();
|
||||
|
||||
if (!exists $args->{files}{$file}) {
|
||||
return "No file named '$file' given".
|
||||
}
|
||||
|
||||
($fh, $filename) = tempfile(SUFFIX => $file);
|
||||
binmode($fh);
|
||||
print $fh $args->{files}{$file};
|
||||
close $fh;
|
||||
|
||||
# TODO: Call Fact to create testsuite
|
||||
|
||||
return "Ok"
|
||||
}
|
||||
|
||||
sub moulette
|
||||
{
|
||||
my $project_id = $args->{param}{id};
|
||||
my $year = $args->{param}{year};
|
||||
my $rendu = $args->{param}{rendu};
|
||||
my $login = $args->{param}{login};
|
||||
|
||||
# TODO: Call Fact to launch student tarball
|
||||
|
||||
return "Ok"
|
||||
}
|
||||
|
||||
|
||||
sub process_get
|
||||
{
|
||||
my ($given_args, $args) = @_;
|
||||
|
||||
my $type = $args->{param}{type};
|
||||
|
||||
if (! exists $actions{$type}) {
|
||||
log WARN, "Unknown type '$type'";
|
||||
return "Unknown type '$type'.";
|
||||
}
|
||||
|
||||
return $actions{$type}($args);
|
||||
}
|
||||
|
||||
Process::register("moulette_get", \&process_get);
|
Reference in a new issue