SVN: toys/rsget.pl/Get/OdSiebie

sparky sparky at pld-linux.org
Tue Oct 6 22:29:08 CEST 2009


Author: sparky
Date: Tue Oct  6 22:29:08 2009
New Revision: 10708

Modified:
   toys/rsget.pl/Get/OdSiebie
Log:
- support pictures ( http://odsiebie.com/pokaz/5374924---9ef1.html )
  and flv videos ( http://odsiebie.com/pokaz/5745950---f26b.html )


Modified: toys/rsget.pl/Get/OdSiebie
==============================================================================
--- toys/rsget.pl/Get/OdSiebie	(original)
+++ toys/rsget.pl/Get/OdSiebie	Tue Oct  6 22:29:08 2009
@@ -13,7 +13,26 @@
 	ERROR( "some problem, file not found ?" )
 		if $-{_referer} =~ m{/(upload|error)\.html};
 
-	m{<dl\s+class="file-info">.*?<dd.*?>
+	if ( m{<img id="thepic" .* src="(.*?)"} ) { # picture
+		$-{file_uri} = $1;
+		! m{<dl class="file-info">.*?<dd> ($STDSIZE)</dd>}s;
+		my $size = $1;
+		$-{file_uri} =~ m{.*/(.*?)$};
+		INFO( name => $1, asize => $size );
+
+		GOTO stage_download;
+	} elsif ( m{var VideoID = "video=(http://.*?)::url=.*?";} ) { # video
+		$-{file_uri} = $1;
+
+		! m{Oryginalna nazwa pliku: (.*?)<br />.*<br />Rozmiar pliku:\s+($STDSIZE)<!--};
+		$-{fname} = $1;
+		INFO( name => $1, asize => $2 );
+
+		GOTO stage_download;
+	}
+
+	# mp3 or binary file
+	! m{<dl\s+class="file-info">.*?<dd.*?>
 		(?:\s*<!--.*?-->\s*<!--.*?-->\s*)?
 		(.*?)
 		</dd>.*?<dd>\s*($STDSIZE)</dd>}sx;
@@ -23,6 +42,11 @@
 	GET( $1 );
 
 	! m{href="(/download/\d+---.*?.html)"};
-	DOWNLOAD( $1 );
+	$-{file_uri} = $1;
+
+stage_download:
+	my @fname;
+	@fname = ( fname => $-{fname} ) if $-{fname};
+	DOWNLOAD( $-{file_uri}, @fname );
 
 # vim:ts=4:sw=4


More information about the pld-cvs-commit mailing list