annotate imp_exp/link_path.pl @ 0:07d3e0871bb4 draft

Uploaded
author pitagora
date Wed, 09 Jul 2014 04:48:09 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
1 #!/usr/bin/perl
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
2
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
3 # INTERNAL USE ONLY!
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
4 # THIS TOOLS IS WRITTEN BASED ON link_path.pl FROM US DOE Joint Genome Institute.
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
5 # 2012-02-10 Yamanaka
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
6
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
7 # THIS TOOL HAS BEEN DEPRECATED IN FAVOR OF THE galaxy_import.pl AND gcpd.pl METHOD
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
8 # WHICH DON'T REQUIRE SETTING METADATA MANUALLY FOR EACH FILE.
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
9
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
10 use strict;
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
11 use File::Copy;
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
12
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
13 # CONFIG
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
14 my @allowed_paths = ('/');
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
15
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
16 # ARGS
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
17 my ($src, $dest, $symlink)=@ARGV;
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
18 die("Absolute path required\n") unless $src =~ /^\//;
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
19 die("Paths containing '..' are disallowed\n") if $src =~ /\/\.\.\//;
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
20 my $ok=0;
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
21 foreach my $dir (@allowed_paths) {
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
22 my $re="^$dir";
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
23 $re =~ s/\//\\\//g;
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
24 if ($src =~ /$re/) {
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
25 $ok=1;
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
26 last;
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
27 }
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
28 }
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
29 die("Not an allowed source path\n") unless $ok;
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
30
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
31 # CP
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
32 unlink($dest);
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
33 if ($symlink) {
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
34 symlink($src, $dest);
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
35 } else {
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
36 copy($src,$dest);
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
37 }
07d3e0871bb4 Uploaded
pitagora
parents:
diff changeset
38 exit;