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;
                }
        }
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to