Changeset 9898 for trunk/gsdl
- Timestamp:
- 2005-05-17T13:23:11+12:00 (19 years ago)
- Location:
- trunk/gsdl/cgi-bin
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gsdl/cgi-bin/download
r9208 r9898 2 2 3 3 use gsdlCGI; 4 5 sub load_gsdl_utils 6 { 7 my ($gsdlhome) = @_; 8 9 require "$gsdlhome/perllib/util.pm"; 10 } 4 11 5 12 sub main … … 7 14 my $gsdl_cgi = new gsdlCGI("+cmdline"); 8 15 9 my $gsdlhome = $gsdl_cgi->get_config_info("gsdlhome"); 16 my $gsdlhome = $gsdl_cgi->get_gsdl_home(); 17 18 $ENV{'GSDLOS'} = "linux"; 19 20 load_gsdl_utils($gsdlhome); 10 21 11 22 my $col = $gsdl_cgi->clean_param("c"); … … 20 31 if(($accept_expr eq "") || (!defined $accept_expr)) { 21 32 $accept_expr = ""; 22 print "not using accept";23 33 } 24 34 else { … … 29 39 if(($reject_expr eq "") || (!defined $reject_expr)) { 30 40 $reject_expr = ""; 31 print "not using reject";32 41 } 33 42 else { … … 35 44 } 36 45 46 my $zip_dirname = ""; 47 37 48 if ($col =~ m/^\//) { 38 49 # leading / at start denotes special "cols" such as "/tmp" 39 $gsdl_cgi->checked_chdir("$gsdlhome"); 50 51 $zip_dirname = $gsdlhome; 40 52 $col =~ s/^\///; 41 53 } 42 54 else { 43 $ gsdl_cgi->checked_chdir("$gsdlhome/collect");55 $zip_dirname = &util::filename_cat($gsdlhome,"collect"); 44 56 } 45 57 46 `java -classpath $gsdlhome/bin/java/SignedGatherer.jar org.greenstone.gatherer.util.Zipup $gsdlhome/ $col $dir $accept_expr $reject_expr`; 47 48 my $pipe_cmd = "cat $col.zip"; # Unix specific 49 50 if (open(PIN,"$pipe_cmd |")) { 58 my $java = $gsdl_cgi->check_for_java(); 59 60 my $classpath 61 = &util::filename_cat($gsdlhome,"bin","java","SignedGatherer.jar"); 62 my $java_prog = "org.greenstone.gatherer.util.Zipup"; 63 my $java_args = "$zip_dirname/ $col $dir $accept_expr $reject_expr"; 64 my $java_cmd = "$java -classpath $classpath $java_prog $java_args"; 65 66 `$java_cmd`; 67 68 my $zip_filename = &util::filename_cat($zip_dirname,"$col.zip"); 69 70 if (open(PIN,"<$zip_filename")) { 51 71 binmode(PIN); 52 72 … … 54 74 my $num_bytes = 0; 55 75 56 print "Content-type:application/zip\n\n";76 print STDOUT "Content-type:application/zip\n\n"; 57 77 58 78 while (read(PIN,$buf,1024)>0) { … … 66 86 } 67 87 else { 68 $gsdl_cgi->generate_error("Unable to pipe input from: $pipe_cmd"); 88 my $mess = "Unable to read in $zip_filename\n $!"; 89 $gsdl_cgi->generate_error($mess); 69 90 } 70 91 71 unlink "$ col.zip";92 unlink "$zip_filename"; 72 93 } 73 94 -
trunk/gsdl/cgi-bin/launch
r9208 r9898 2 2 3 3 use gsdlCGI; 4 5 sub load_gsdl_utils 6 { 7 my ($gsdlhome) = @_; 8 9 require "$gsdlhome/perllib/util.pm"; 10 } 4 11 5 12 sub run_gencmd … … 37 44 38 45 my $status; 39 46 40 47 print STDOUT "Content-type:text/plain\n\n"; 41 48 … … 116 123 } 117 124 125 sub run_exportcol 126 { 127 my ($gsdlhome,$col,$gsdl_cgi) = @_; 128 129 # multiple collections represented by ':' concatenated list 130 $col =~ s/:/ /g; 131 132 if (defined $col) { 133 my ($remote_user) = ($col =~ m/^([^\-]+)/); 134 135 my $cddir = $gsdl_cgi->clean_param("cddir"); 136 137 my $remote_dirname = &util::filename_cat($gsdlhome,"tmp",$remote_user); 138 my $remote_cd_dirname = &util::filename_cat($remote_dirname,$cddir); 139 140 if (!-e $remote_dirname) { 141 &util::mk_dir($remote_dirname); 142 } 143 144 if (-e $remote_cd_dirname) { 145 &util::rm_r($remote_cd_dirname); 146 } 147 148 # Update cddir cgi param prefiexed by remote_user 149 $cddir = &util::filename_cat($remote_user,$cddir); 150 $gsdl_cgi->delete("cddir"); 151 $gsdl_cgi->param(-name=>"cddir", -value=>$cddir); 152 } 153 154 return run_gencmd("exportcol",$col,$gsdl_cgi); 155 } 156 157 sub run_exportas 158 { 159 my ($col,$gsdl_cgi) = @_; 160 161 # multiple collections represented by ':' concatenated list 162 $col =~ s/:/ /g; 163 164 return run_gencmd("export",$col,$gsdl_cgi); 165 } 166 167 118 168 119 169 sub run_deldir … … 139 189 { 140 190 my $gsdl_cgi = new gsdlCGI("+cmdline"); 141 my $gsdlhome = $gsdl_cgi->get_config_info("gsdlhome"); 191 my $gsdlhome = $gsdl_cgi->get_gsdl_home(); 192 193 $ENV{'GSDLOS'} = "linux"; 194 195 load_gsdl_utils($gsdlhome); 142 196 143 197 $gsdl_cgi->checked_chdir($gsdlhome); … … 172 226 run_buildcol($col,$gsdl_cgi); 173 227 } 228 elsif ($cmd eq "exportcol") { 229 run_exportcol($gsdlhome,$col,$gsdl_cgi); 230 } 231 elsif ($cmd eq "exportas") { 232 run_exportas($col,$gsdl_cgi); 233 } 174 234 elsif ($cmd eq "deldir") { 175 235 run_deldir($col,$gsdl_cgi); -
trunk/gsdl/cgi-bin/upload
r9388 r9898 7 7 8 8 my $gsdl_cgi = new gsdlCGI(); 9 my $gsdlhome = $gsdl_cgi->get_ config_info("gsdlhome");9 my $gsdlhome = $gsdl_cgi->get_gsdl_home(); 10 10 11 11 my $col = $gsdl_cgi->clean_param("c"); … … 42 42 43 43 my $col_dir = "$col/$dir"; # Unix specific 44 45 ## my $java = $gsdl_cgi->check_for_java(); 44 46 45 47 # if($delete eq "all") { … … 87 89 #`cp $zip_fname /tmp/mgw5/$dir.zip`; 88 90 89 `java -classpath $gsdlhome/bin/java/SignedGatherer.jar org.greenstone.gatherer.util.Unzip $gsdlhome/ $zip_fname`; 91 my $java = $gsdl_cgi->check_for_java(); 92 93 `$java -classpath $gsdlhome/bin/java/SignedGatherer.jar org.greenstone.gatherer.util.Unzip $gsdlhome/ $zip_fname`; 90 94 91 95 unlink "$zip_fname";
Note:
See TracChangeset
for help on using the changeset viewer.