CPAN2RT
view release on metacpan or search on metacpan
lib/CPAN2RT.pm view on Meta::CPAN
modules/02packages.details.txt.gz
);
require LWP::UserAgent;
my $ua = new LWP::UserAgent;
$ua->timeout( 10 );
foreach my $file ( @files ) {
debug { "Fetching '$file'\n" };
my $store = $self->file_path( $file );
$self->backup_file( $store ) if -e $store;
my $response = $ua->get( "$mirror/$file", ':content_file' => $store );
unless ( $response->is_success ) {
print STDERR $response->status_line, "\n";
next;
}
my $mtime = $response->header('Last-Modified');
debug { "Fetched '$file' -> '$store'\n" };
if ( $store =~ /(.*)\.gz$/ ) {
$self->backup_file( $1 );
`gunzip -f $store`;
$store =~ s/\.gz$//;
debug { "Unzipped '$store'\n" };
}
if ( $mtime ) {
require HTTP::Date;
$mtime = HTTP::Date::str2time( $mtime );
utime $mtime, $mtime, $store if $mtime;
debug { "Last modified: $mtime\n" };
lib/CPAN2RT.pm view on Meta::CPAN
}
sub is_new_file {
my $self = shift;
my $new = $self->file_path( shift );
my $old = $new .'.old';
return 1 unless -e $old;
return (stat $new)[9] > (stat $old)[9]? 1 : 0;
}
sub backup_file {
my $self = shift;
my $old = shift;
my $new = $old .'.old';
rename $old, $new;
}
sub skip_header {
my $self = shift;
my $fh = shift;
while ( my $str = <$fh> ) {
( run in 1.684 second using v1.01-cache-2.11-cpan-49f99fa48dc )