SVN: toys/fun/rsget.pl
sparky
sparky at pld-linux.org
Thu Mar 5 17:02:39 CET 2009
Author: sparky
Date: Thu Mar 5 17:02:38 2009
New Revision: 10172
Modified:
toys/fun/rsget.pl
Log:
- save pages with errors for subsequent inspection
Modified: toys/fun/rsget.pl
==============================================================================
--- toys/fun/rsget.pl (original)
+++ toys/fun/rsget.pl Thu Mar 5 17:02:38 2009
@@ -462,6 +462,19 @@
{
my $self = shift;
my $msg = shift;
+ my $data = shift;
+ if ( $data ) {
+ my $n = 0;
+ my $name;
+ do {
+ $name = "errorlog." . (++$n) . ".html";
+ } while ( -r $name );
+ open ERR_OUT, '>', $name;
+ print ERR_OUT $data;
+ close ERR_OUT;
+
+ $msg .= "; saved $name";
+ }
$self->print( $msg );
$self->finish( $msg );
@@ -477,12 +490,13 @@
{
my $self = shift;
my $var = shift;
+ my $data = shift;
my $msg = "";
$msg = " (undefined var: $var)" if $var;
if ( ++$self->{try} < 8 ) {
return $self->wait( 2 ** $self->{try}, \&start, "unknown problem$msg, waiting" );
} else {
- return $self->error( "unknown problem$msg, aborting" );
+ return $self->error( "unknown problem$msg, aborting", $data );
}
}
@@ -527,7 +541,7 @@
} elsif ( $body =~ /form id="ff" action="(.*?)"/m ) {
$link = $1;
} else {
- return $self->problem( "link" );
+ return $self->problem( "link", $body );
}
$self->curl( $link, \&stage3, post => 'dl.start=Free' );
@@ -548,7 +562,7 @@
return $self->wait( $m * 60 + 10, \&stage1, "free limit reached, waiting" );
}
unless ( $body =~ /var c=([0-9]+);/m ) {
- return $self->problem( "var c=" );
+ return $self->problem( "var c=", $body );
}
my $wait = $1;
@@ -620,7 +634,7 @@
if ($body =~ /MAINTENANCE/ ) {
return $self->wait( 10 * 60, \&stage1, "server maintenence, will try in" );
}
- return $self->problem( "link" );
+ return $self->problem( "link", $body );
}
$link =~ s/&/&/g;
@@ -649,7 +663,7 @@
if ( $body =~ m/$search/ ) {
$self->{$name} = $1;
} else {
- return $self->problem( $name )
+ return $self->problem( $name, $body )
}
}
@@ -696,11 +710,11 @@
return $self->wait( $1 / 100, \&stage1, "free limit reached, waiting" );
}
unless ( $body =~ /please wait .*countdown\(([0-9]+),/ ) {
- return $self->problem( "countdown" );
+ return $self->problem( "countdown", $body );
}
my $wait = $1 / 100 + 1;
unless ( $body =~ m#<a class="Orange_Link" href="(.*?)"#) {
- return $self->problem( "Orange_Link" );
+ return $self->problem( "Orange_Link", $body );
}
$self->{file_url} = $1;
@@ -929,7 +943,7 @@
my ($self, $body, $url) = @_;
if ( $url =~ m{/(upload|error)\.html} ) {
- return $self->error( "some problem" );
+ return $self->error( "some problem", $body );
}
$self->print("downloading");
$self->{referer} = $url;
@@ -1007,7 +1021,7 @@
if ( $body =~ m/$search/ ) {
$self->{$name} = $1;
} else {
- return $self->problem( $name )
+ return $self->problem( $name, $body )
}
}
@@ -1049,7 +1063,7 @@
if ( $body =~ m/$search/ ) {
$self->{$name} = $1;
} else {
- return $self->problem( $name )
+ return $self->problem( $name, $body )
}
}
@@ -1177,7 +1191,10 @@
$self->{referer} = $url;
if ( $url =~ m#/\?view=# ) {
- return $self->error( ($url =~ /fileremoved/) ? "file not found" : "unknown error" );
+ if ( $url =~ /fileremoved/) {
+ return $self->error( "file not found" );
+ }
+ return $self->error( "unknown error", $body );
}
if ( $body =~ /Or wait (\d+) minutes/ ) {
return $self->wait( $1 * 60, \&stage1, "free limit reached, waiting" );
More information about the pld-cvs-commit
mailing list