SVN: toys/rsget.pl/Get/MediaFire
sparky
sparky at pld-linux.org
Thu Apr 8 21:23:10 CEST 2010
Author: sparky
Date: Thu Apr 8 21:23:10 2010
New Revision: 11325
Modified:
toys/rsget.pl/Get/MediaFire
Log:
- improvements for very unlikely cases
Modified: toys/rsget.pl/Get/MediaFire
==============================================================================
--- toys/rsget.pl/Get/MediaFire (original)
+++ toys/rsget.pl/Get/MediaFire Thu Apr 8 21:23:10 2010
@@ -11,14 +11,14 @@
short: MF
web: "http://www.mediafire.com/"
tos: "http://www.mediafire.com/terms_of_service.php"
-uri: qr{mediafire\.com/(file/|\?)[a-z0-9]+}
+uri: qr{mediafire\.com/(file/|\?|download\.php\?)[a-z0-9]+}
cookie: mf
slots: max
status: OK 2010-04-08
unify:
return "http://www.mediafire.com/?$1" if
- m{mediafire\.com/(?:file/|\?)([a-z0-9]+)};
+ m{mediafire\.com/(?:file/|\?|download\.php\?)([a-z0-9]+)};
start:
GET( $-{_uri} );
@@ -47,10 +47,17 @@
my %vars = map { /var (.*?)='(.*?)'/ } split /;/, $vars;
my @esc = m/(\S+=unescape.*?eval|eval\(".*?"\))/g;
- ! scalar @esc;
- foreach my $e ( @esc ) {
- $_ = jseval( $e );
- if ( /getElementById\('([0-9a-f]+)'\)/ ) {
+ if ( scalar @esc ) {
+ warn "Has escapes\n";
+ foreach my $e ( @esc ) {
+ $_ = jseval( $e );
+ if ( /getElementById\('([0-9a-f]+)'\)/ ) {
+ last if $-{func_id} eq $1;
+ }
+ }
+ } else {
+ warn "Old style\n";
+ while ( s/^.*?getElementById\('([0-9a-f]+)'\)//s ) {
last if $-{func_id} eq $1;
}
}
More information about the pld-cvs-commit
mailing list