Rev 11071 | Rev 11930 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
11072 | bpr | 1 | #!/usr/bin/perl -w |
7438 | bpr | 2 | |
3 | use POSIX qw(strftime); |
||
4 | #use strict ; |
||
5 | #use warnings; |
||
6 | ###execute in wims directory |
||
7 | |||
8 | my $mirror='wimsedu'; |
||
9 | my $addr='http://downloadcenter.wimsedu.info/publish/modules' ; |
||
10 | my $directory='public_html/modules'; |
||
11 | my $verwims=`cat version` ; ## la version doit être écrite avec deux décimales ! |
||
12 | my $vawims ; |
||
13 | ($vawims = $verwims) =~ s/[0-9\.]//g; |
||
14 | $verwims =~ s/[a-z]//g; |
||
15 | my $list=''; |
||
16 | my %data; |
||
8081 | bpr | 17 | my $today = strftime "%Y%m%d", localtime; |
7438 | bpr | 18 | |
19 | open(IN, "wget -O - '$addr/index.txt' |"); |
||
20 | |||
21 | while (<IN>){ |
||
8081 | bpr | 22 | my $l = $_; |
7438 | bpr | 23 | my ($wa, $junk2, $version, $publisher, $wims, $module)=split(' ', $l) ; |
24 | my $module1=$module ; $module=~ s,/,\~,g ; |
||
25 | $wa=~ s/[0-9\.:]//g if ($wa) ; |
||
26 | ## test sur la version de wims |
||
27 | next if (($wims > $verwims) || ($wims == $verwims && ($wa gt $vawims) )); |
||
28 | ##il y a une version plus récente déjà |
||
29 | next if (($data{$module}) && (($data{$module}) > $wims)); |
||
8081 | bpr | 30 | $list = "$today: $module1 $version\n" ; |
7438 | bpr | 31 | $data{$module}=$wims ; |
32 | wget($module,$wims) ; |
||
33 | outcat ("public_html/modules/Changelog.new",$list) |
||
34 | } |
||
35 | |||
36 | close IN; |
||
8081 | bpr | 37 | |
38 | sub wget { my ($mod, $vers) = @_ ; |
||
7438 | bpr | 39 | my @adr=split('\~', $mod); |
8081 | bpr | 40 | system(`mkdir -p $directory/$adr[0] ; |
41 | mkdir -p $directory/$adr[0]/$adr[1] ; |
||
42 | cd $directory/$adr[0]/$adr[1]; |
||
7438 | bpr | 43 | wget -O $mod.tgz '$addr/$vers/$mod.tgz'; |
44 | tar xzf $mod.tgz ; rm $mod.tgz`) ; |
||
45 | } |
||
8081 | bpr | 46 | |
7438 | bpr | 47 | sub out { my ($bloc, $text) = @_ ; |
8081 | bpr | 48 | open (OUT, ">$bloc") || warn "peut pas créer $bloc"; |
49 | print OUT $text ; close OUT ; |
||
7438 | bpr | 50 | } |
51 | |||
52 | sub outcat { my ($bloc, $text) = @_ ; |
||
8081 | bpr | 53 | open (OUT, ">>$bloc") || warn "peut pas créer $bloc"; |
54 | print OUT $text ; close OUT ; |
||
7438 | bpr | 55 | } |