Subversion Repositories wimsdev

Rev

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
}