Author: sparky
Date: Sat Jun 26 17:02:38 2010
New Revision: 11588

Added:
   toys/rsget.pl/Direct/HTTP   (contents, props changed)
Log:
- plugin for downloading files directly over http protocol, avoids
  downloading text/{html,xml,plain,...} and small images


Added: toys/rsget.pl/Direct/HTTP
==============================================================================
--- (empty file)
+++ toys/rsget.pl/Direct/HTTP   Sat Jun 26 17:02:38 2010
@@ -0,0 +1,35 @@
+# $Id$
+# Direct::HTTP - File getter plugin for rsget.pl
+#
+# 2010 (c) Przemysław Iskra <[email protected]>
+#              This program is free software,
+# you may distribute it under GPL v2 or newer.
+
+name: HTTP
+short: Direct::HTTP
+web: "http://rsget.pl/getters/Direct/HTTP/";
+uri: qr{http://.*[^/]}
+slots: max
+status: OK 2010-06-26
+
+start:
+       GET( $-{_uri}, headonly => 1 );
+
+       my ( $type ) = /^Content-Type:\s*(\S+)\r?$/mi;
+       my ( $len ) = /^Content-Length:\s*(\d+)\r?$/mi;
+       $len ||= -1;
+
+       ERROR( "file is text ($type)" ) if $type =~ m#^text/#;
+       ERROR( "file is a small image ($type, $len)" )
+               if $type =~ m#^image/# and $len < 100 * 1024;
+
+       my ( $name ) = $-{_uri} =~ m{.*/(.*)$};
+       if ( /^Content-Disposition:(.+?)\r?$/mi ) {
+               $name = RSGet::Curl::content_filename( $1 );
+       }
+
+       INFO( name => $name, size => $len );
+
+       DOWNLOAD( $-{_uri} );
+
+# vim: filetype=perl:ts=4:sw=4
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to