SVN: toys/rsget.pl/Premium/FileSonic

sparky sparky at pld-linux.org
Wed Apr 13 01:14:24 CEST 2011


Author: sparky
Date: Wed Apr 13 01:14:24 2011
New Revision: 12227

Added:
   toys/rsget.pl/Premium/FileSonic   (contents, props changed)
Log:
- new, filesonic premium account support


Added: toys/rsget.pl/Premium/FileSonic
==============================================================================
--- (empty file)
+++ toys/rsget.pl/Premium/FileSonic	Wed Apr 13 01:14:24 2011
@@ -0,0 +1,45 @@
+# $Id$
+# Get::FileSonic - Premium file getter plugin for rsget.pl
+#
+# 2011 (c) Przemysław Iskra <sparky at pld-linux.org>
+#		This program is free software,
+# you may distribute it under GPL v2 or newer.
+
+name: FileSonic
+short: *FS
+web: "http://www.filesonic.com/"
+tos: "http://www.filesonic.com/terms-and-conditions"
+uri: qr{filesonic\.com/file/\d+}
+uri: qr{(?:www\d+\.)?sharingmatrix\.com/file/\d+}
+cookie: fsc.p
+slots: max
+status: OK 2011-04-13
+
+pre:
+	my ($user, $pass);
+	if ( my $s = setting("premium_filesonic") ) {
+		($user, $pass) = ($s =~ /^(.+?):(.+)/) or die "Premium user:pass incorrect\n";
+	} else {
+		die "Premium user:pass not given\n";
+	}
+
+unify:
+	return "http://www.filesonic.com/file/$1"
+		if m{/file/(\d+)};
+
+start:
+	GET( $-{_uri} );
+
+	ERROR( "file not found: $1" )
+		if m#<div class="section CL1">.*?<p>\s*(.*?)\s*</p>#s
+			or m#<div id="downloadFileInfo" class="section CL2">\s*<h2><span>[^<]*?</span></h2>\s*<p>\s*(.*?)\s*</p>#s;
+	! m#<title>Download (.*?) for free on Filesonic.com</title>#;
+	my $fn = de_ml( $1 );
+	! m#<span class="size">($STDSIZE)</span>#;
+	INFO( name => $fn, asize => $1 );
+
+	GET( "/user/login", post => { email => $user, redirect => "/", password => $pass } );
+
+	DOWNLOAD( $-{_uri} );
+
+# vim: filetype=perl:ts=4:sw=4


More information about the pld-cvs-commit mailing list