]> matita.cs.unibo.it Git - helm.git/commitdiff
helm_wget subroutine now use LWP module and doesn't use any more external
authorStefano Zacchiroli <zack@upsilon.cc>
Sat, 17 Feb 2001 21:03:06 +0000 (21:03 +0000)
committerStefano Zacchiroli <zack@upsilon.cc>
Sat, 17 Feb 2001 21:03:06 +0000 (21:03 +0000)
wget program

helm/http_getter/http_getter.pl.in

index 85ed00a55e684786b2bb85a92788b3a83d9eccb4..22fad1a3ec01f7f8708dad2f3546d089acd8093e 100755 (executable)
@@ -409,9 +409,9 @@ sub download
   }
  } else { # download file from net
     print "Downloading the $str file\n"; # download file
-    $ua = LWP::UserAgent->new;
-    $request = HTTP::Request->new(GET => "$url");
-    $response = $ua->request($request, \&callback);
+    my $ua = LWP::UserAgent->new;
+    my $request = HTTP::Request->new(GET => "$url");
+    my $response = $ua->request($request, \&callback);
                
     # cache retrieved file to disk
 # <ZACK/> TODO: inefficent, I haven't yet undestood how to deflate
@@ -465,21 +465,18 @@ sub answer
 }
 
 sub helm_wget {
-#ported from helm_wget executable, TODO: rewrite without wget.
 #retrieve a file from an url and write it to a temp dir
-#used for retrieve resource indexe from servers
+#used for retrieve resource index from servers
+ $cont = "";
  my ($prefix, $URL) = @_;
- if ($URL =~ /^file:\//) {
-  $URL =~ s/^file:\///;
-  my $command = "mkdir -p $prefix ; cp $URL $prefix";
-  print "$command\n";
-  system($command) == 0
-   or die "\"$command\" error";
- } else {
-  my $command = "wget -c -P $prefix $URL";
-  system($command) == 0
-   or die "\"$command\" error";
- }
+ my $ua = LWP::UserAgent->new;
+ my $request = HTTP::Request->new(GET => "$URL");
+ my $response = $ua->request($request, \&callback);
+ my ($filename) = reverse (split "/", $URL); # get filename part of the URL
+ open (TEMP, "> $prefix/$filename")
+  || die "Cannot open temporary file: $prefix/$filename\n";
+ print TEMP $cont;
+ close TEMP;
 }
 
 sub update {
@@ -509,7 +506,6 @@ sub mk_urls_of_uris {
  while ($server = pop @servers) { #cicle on servers in reverse order
   print "processing server: $server ...\n";
   chomp $server;
-  $debugserver = "http://dalamar.krynn.it/helm"; # FOR DEBUG ONLY: REMOVE ME !!
   helm_wget($tmp_dir, $server."/".$indexname); #get index
   $idxfile = $tmp_dir."/".$indexname;
   open (INDEX, "< $idxfile") or