Schrift
[thread]6153[/thread]

ActiveState PPM Mirror



<< >> 4 Einträge, 1 Seite
esskar
 2004-03-19 04:44
#81141 #81141
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
mir sit gerade eingefallen, dass ich am Wochenende zwar nen Laptop bei unserer Firmenfahrt dabei hab, aber im Hotel wohl nicht online bin.
Deswegen hab ich grad schnell noch ein Script geschrieben, dass mir ActiveState's PPMs spiegelt

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/usr/bin/perl

use strict;
use warnings;

use LWP::Simple;
use LWP::UserAgent;

my $ppmserverurl = "http://ppm.activestate.com/PPMPackages/zips/8xx-builds-only/Windows/";
my $ppmlocalfolder = "d:/ppm_mirror/";

die "[$ppmlocalfolder] does not exists." unless $ppmlocalfolder;

my $header = qq~<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<title>Index of /PPMPackages/zips/8xx-builds-only/Windows</title>
</head>
<body>
<h1>Index of /PPMPackages/zips/8xx-builds-only/Windows</h1>
<ul><li><a href="/PPMPackages/zips/8xx-builds-only/"> Parent Directory</a></li>~;

my $footer = qq~</ul>
</body></html>~;

my $page = get($ppmserverurl);

$page =~ s!^$header!!;
$page =~ s!$footer$!!;

my @lines = split /\r?\n/, $page;

my $ua = LWP::UserAgent->new(env_proxy => 1, keep_alive => 1, timeout => 30);

foreach my $line (@lines)
{
chomp $line;
next unless $line;
$line =~ m!<a href="(.*)"> (.*)</a>!i;

my ($file, $desc) = ($1, $2);
next unless $file and $desc;

my $source = "$ppmserverurl$file";
my $dest = "$ppmlocalfolder$file";

print "Mirror [$source] -> [$dest]\n";
$ua->mirror($source, $dest);
}


ist nicht perfekt; tut aber was es soll...

wer will, kann es gerne verbessern...
also, bis montag...

sk
Ronnie
 2004-03-19 10:47
#81142 #81142
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
[quote=esskar,19.03.2004, 03:44]
Code: (dl )
die "[$ppmlocalfolder] does not exists." unless $ppmlocalfolder;
[/quote]
Code: (dl )
die "[$ppmlocalfolder] does not exists." unless -e $ppmlocalfolder;

Da fehlt wohl was: -e, oder?

Gruss,
Ronnie\n\n

<!--EDIT|Ronnie|1079686073-->
esskar
 2004-03-19 11:37
#81143 #81143
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
stimmt...
bzw. ein -d

aber egal... es war spät... und da der ordner existiert hat, hat es auch gefunzt...
waren übrigens nur 128MB
Strat
 2004-03-19 18:13
#81144 #81144
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
ich mache das immer mit lwp-rget.bat (ist im Perl/bin-Verzeichnis, sobald das LWP-Package installiert ist)
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< >> 4 Einträge, 1 Seite



View all threads created 2004-03-19 04:44.