All pastes #2078945 Raw Edit

tuupic

public text v1 · immutable
#2078945 ·published 2011-08-29 08:01 UTC
rendered paste body
#!/usr/bin/perl
     
use strict;
     
use LWP::UserAgent;
use Time::Local;
     
open OUT, ">/home/download/data/htdocs/$ARGV[1]/list";
     
sub GetList($) {
    my $URL = shift;
    my $ua = LWP::UserAgent->new;
     
    my $req = HTTP::Request->new(GET => $URL);
     
    my $contents;
    my %mon = ( Jan=>0, Feb=>1, Mar=>2, Apr=>3, May=>4, Jun=>5, Jul=>6, Aug=>7, Sep=>8, Oct=>9, Nov=>10, Dec=>11 );
    #/home/download/data/htdocs /Linux-cc6/x86_64/VDSmanager/DiskTemplate/openvz
     
    $ua->request($req, sub { ($contents, undef) = @_; });
     
    my @files = split /\n/, $contents;
    foreach my $line (@files) {
      my @fields = split / +/, $line;
      if( my ($name) = ($fields[8] =~ /^(.*$ARGV[0].*)\.tar\.gz$/) ) {
        my $time;
        if( my @time = ($fields[7] =~ /^([0-9]+):([0-9]+)$/) ) {
                    if ($mon{$fields[5]} > (gmtime(time))[4]) {
                            $time = timegm(00, $time[1], $time[0], $fields[6], $mon{$fields[5]}, (gmtime(time))[5]-1);
                    } else {
                            $time = timegm(00, $time[1], $time[0], $fields[6], $mon{$fields[5]}, (gmtime(time))[5]);
                    }
        } else {
          $time = timegm(00, 00, 00, $fields[6], $mon{$fields[5]}, $fields[7]);
        }
        print OUT "$name $URL$name.tar.gz $fields[4] $time\n";
      }
    }
}
     
#GetList("ftp://download.openvz.org/template/precreated/");
#GetList("ftp://download.openvz.org/template/precreated/contrib/");
 
#Local
#/home/download/data/htdocs/Linux-cc6/x86_64/VDSmanager/DiskTemplate/openvz
my $path = "/home/download/data/htdocs/$ARGV[1]/openvz";
opendir DIR, $path;
readdir(DIR);
readdir(DIR);
while( my $name = readdir(DIR) ) {
  #my $name = $_;
  my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks) = stat "$path/$name";
  my $short = substr($name, 0, length($name)-7);
  print OUT "$short http://download.ispsystem.com/$ARGV[1]/openvz/$name $size $mtime\n";
}
closedir DIR;

if ("amd64" =~ $ARGV[0]) {
    $path =~ s/x86_64/i686/go;
    print $path;
    opendir DIR, $path;
    readdir(DIR);
    readdir(DIR);
    while( my $name = readdir(DIR) ) {
        #my $name = $_;
        my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks) = stat "$path/$name";
        my $short = substr($name, 0, length($name)-7);
        print OUT "$short http://download.ispsystem.com/$ARGV[1]/openvz/$name $size $mtime\n";
    }
    closedir DIR;
}
 
close OUT;