From 9866ecde4595864f67b1252d082ca78fc99a3031 Mon Sep 17 00:00:00 2001 From: Mercier Pierre-Olivier Date: Fri, 18 Oct 2013 09:11:43 +0200 Subject: [PATCH] moulette_get: Merge receive_tar and receive_git --- process/files/moulette_get.pl | 37 ++++------------------------------- 1 file changed, 4 insertions(+), 33 deletions(-) diff --git a/process/files/moulette_get.pl b/process/files/moulette_get.pl index c03c834..058cb11 100644 --- a/process/files/moulette_get.pl +++ b/process/files/moulette_get.pl @@ -15,10 +15,9 @@ use ACU::Log; use ACU::Process; my %actions = ( - "tar" => \&receive_tar, - "git" => \&receive_git, - + "std" => \&receive_std, #STuDent "ref" => \&receive_ref, + "tests" => \&create_testsuite, "moulette" => \&moulette, ); @@ -90,35 +89,7 @@ sub receive_ref remove_tree($tempdir); } -sub receive_tar -{ - my $args = shift; - my $project_id = $args->{param}{id}; - my $year = $args->{param}{year}; - my $rendu = $args->{param}{rendu}; - my $file = $args->{param}{file}; - my $login = $args->{param}{login} // "ref"; - - croak "No file named '$file' given" if (!exists $args->{files}{$file}); - - my ($fh, $filename) = tempfile(DIR => '/data/tmp', SUFFIX => $file); - binmode($fh); - print $fh $args->{files}{$file}; - close $fh; - chmod 0644, $filename; - - my $destdir = ( prepare_dir($year, $project_id, $rendu) )[0]; - fact_exec("package create $filename $destdir/$login.ff", $destdir); - croak "Cannot create $login.ff" if ($?); - chmod 0666, "$destdir/$login.ff"; - - # Clean - unlink $filename; - - run_moulette($project_id, $year, $rendu, $login); -} - -sub receive_git +sub receive_std { my $args = shift; my $project_id = $args->{param}{id}; @@ -137,7 +108,7 @@ sub receive_git croak "An error occurs while extracting the tarball" if ($?); my $destdir = ( prepare_dir($year, $project_id, $rendu) )[0]; - fact_exec("package create $tempdir $destdir/$login.ff", $destdir); + fact_exec("package create '$tempdir' '$destdir/$login.ff'", $destdir); croak "Cannot create $login.ff" if ($?); chmod 0666, "$destdir/$login.ff";