view data_nfs/link_path.pl @ 0:9974ff5df008 default tip

Uploaded
author edward-kirton
date Thu, 01 Dec 2011 20:41:36 -0500
parents
children
line wrap: on
line source

#!/usr/bin/perl

# THIS TOOL HAS BEEN DEPRECATED IN FAVOR OF THE galaxy_import.pl AND gcpd.pl METHOD
# WHICH DON'T REQUIRE SETTING METADATA MANUALLY FOR EACH FILE.

use strict;
use File::Copy;

# CONFIG
my $password='jgi'; # CHANGEME
my @allowed_paths = ('/home/');

# ARGS
my ($trypass, $src, $dest, $symlink)=@ARGV;
die("Invalid password\n") unless $trypass and $password and $trypass eq $password;
die("Absolute path required\n") unless $src =~ /^\//;
die("Paths containing '..' are disallowed\n") if $src =~ /\/\.\.\//;
my $ok=0;
foreach my $dir (@allowed_paths) {
    my $re="^$dir";
    $re =~ s/\//\\\//g;
    if ($src =~ /$re/) {
        $ok=1;
        last;
    }
}
die("Not an allowed source path\n") unless $ok;

# CP
unlink($dest);
if ($symlink) {
    symlink($src, $dest);
} else {
    copy($src,$dest);
}
exit;
__END__
Copyright (c) 2011 US DOE Joint Genome Institute.
Use freely under the same license as Galaxy itself.