Author: sparky
Date: Wed Mar  2 22:10:51 2011
New Revision: 12177

Modified:
   toys/rsget.pl/Get/FileSonic
Log:
- improved


Modified: toys/rsget.pl/Get/FileSonic
==============================================================================
--- toys/rsget.pl/Get/FileSonic (original)
+++ toys/rsget.pl/Get/FileSonic Wed Mar  2 22:10:51 2011
@@ -1,7 +1,7 @@
 # $Id$
 # Get::FileSonic - File getter plugin for rsget.pl
 #
-# 2010 (c) Przemysław Iskra <[email protected]>
+# 2010-2011 (c) Przemysław Iskra <[email protected]>
 #              This program is free software,
 # you may distribute it under GPL v2 or newer.
 
@@ -12,7 +12,7 @@
 uri: qr{filesonic\.com/file/\d+}
 uri: qr{(?:www\d+\.)?sharingmatrix\.com/file/\d+}
 cookie: fsc
-status: OK 2010-12-18
+status: OK 2011-03-02
 
 unify:
        return "http://www.filesonic.com/file/$1";
@@ -36,16 +36,26 @@
 
        MULTI() if m#<span>Download session in progress</span>#;
 
-stage_getlink:
        ( $-{file_uri} ) = m{<p><a href="(.*?)"><span>Start download 
now!</span></a></p>};
-
        GOTO stage_download if $-{file_uri};
 
-       if ( /var countDownDelay = (\d+);/ ) {
-               $-{delay} = $1;
-               GOTO stage_wait;
-       }
+       GOTO stage_captcha unless /var countDownDelay = (\d+);/;
+       my $wait = $1;
+
+       RESTART( $wait, "download limit" ) if $wait > 300;
+
+       ! /<input type='hidden' id='tm' name='tm' value='(.*?)'/;
+       my %post = ( tm => $1 );
+
+    ! /<input type='hidden' id='tm_hash' name='tm_hash' value='(.*?)'/;
+       $post{tm_hash} = $1;
+       $-{wait_post} = \%post;
+
+       WAIT( -$wait, "expecting download information" );
 
+       GET( $-{dl_start}, post => $-{wait_post} );
+
+stage_captcha:
        ! m{Recaptcha\.create\("(.*?)"};
        $-{captcha_key} = $1;
 
@@ -68,14 +78,8 @@
                        recaptcha_response_field => $_
                } );
 
-       GOTO stage_getlink;
-
-stage_wait:
-       WAIT( -( $-{delay} + 5 ), "expecting download link" );
-
-       GET( $-{dl_start}, post => "" );
-
-       GOTO stage_getlink;
+       ! m{<p><a href="(.*?)"><span>Start download now!</span></a></p>};
+       $-{file_uri} = $1;
 
 stage_download:
        CLICK_DOWNLOAD( $-{file_uri} );
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to