SVN: toys/rsget.pl/Link/4Shared
sparky
sparky at pld-linux.org
Tue Oct 13 19:07:58 CEST 2009
Author: sparky
Date: Tue Oct 13 19:07:58 2009
New Revision: 10778
Added:
toys/rsget.pl/Link/4Shared
Log:
- new; 4shared dir support
Added: toys/rsget.pl/Link/4Shared
==============================================================================
--- (empty file)
+++ toys/rsget.pl/Link/4Shared Tue Oct 13 19:07:58 2009
@@ -0,0 +1,39 @@
+#!/usr/bin/perl
+
+name: 4Shared
+short: L:4Shared
+uri: qr{4shared\.com/dir/}
+slots: max
+cookie: !4sh
+status: OK 2009-10-13
+
+unify:
+ return "http://www.4shared.com/dir/$1/$2"
+ if m{/dir/(\d+)/([0-9a-f]+)};
+
+start:
+ GET( $-{_uri} );
+
+ ERROR( "file not found" )
+ if m{^\s*<img alt="" src="/images/spacer\.gif" class="warn" hspace="3" align="left" />\s*$}m;
+
+ $-{links} = [];
+
+ my @dirs = m{href="javascript:changeDir\((\d+)\)"}g;
+ $-{dirs} = [ @dirs ];
+
+stage_morelinks:
+ my @links =m{<a id="ml_file_\d+"\s+href="/account(/file/\d+/[0-9a-f]+)(?:/.*?)?"}g;
+ push @{$-{links}}, @links;
+
+ if ( @{ $-{dirs} } ) {
+ my $form;
+ ! $form = $self->form( name => "leftPanelForm" );
+ $form->set( changedir => shift @{ $-{dirs} } );
+ $form->set( refreshAfterUnzip => "false" );
+ GET_NEXT( stage_morelinks, $form->post() );
+ }
+
+ LINK( map "http://www.4shared.com$_", @{ $-{links} } );
+
+# vim:ts=4:sw=4
More information about the pld-cvs-commit
mailing list