diff options
author | Tomáš Čech <sleep_walker@suse.cz> | 2013-04-05 00:33:41 +0200 |
---|---|---|
committer | Tomáš Čech <sleep_walker@suse.cz> | 2013-04-05 00:33:41 +0200 |
commit | 232f28a49a110c1b8bc61c2bd85435b87fad260e (patch) | |
tree | 46b48ff6a47b56659a5b98fa65622626c905b928 | |
parent | 2d0d9313212724400c740e8a5146c27f3c4b512c (diff) | |
download | get-flash-videos-232f28a49a110c1b8bc61c2bd85435b87fad260e.tar.gz |
initial support for yourupload.com
-rw-r--r-- | lib/FlashVideo/Site/Yourupload.pm | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/lib/FlashVideo/Site/Yourupload.pm b/lib/FlashVideo/Site/Yourupload.pm new file mode 100644 index 0000000..39ddd55 --- /dev/null +++ b/lib/FlashVideo/Site/Yourupload.pm @@ -0,0 +1,60 @@ +# Part of get-flash-videos. See get_flash_videos for copyright. +package FlashVideo::Site::Yourupload; + +use strict; +use FlashVideo::Utils; +use URI::Escape; + +our $VERSION = '0.01'; +sub Version() { $VERSION; } + +sub find_video { + my ($self, $browser, $embed_url) = @_; + + my $flashvars = ""; + my $file = ""; + my $url = ""; + my $name = ""; + + if ($embed_url !~ /http:\/\/yourupload.com\/embed\//) { + if ($browser->content =~ /<iframe src="(http:\/\/yourupload.com\/embed\/[^"]+)" style/) { + $embed_url = $1; + $browser->get($embed_url); + } else { + # we can't find the frame with embed URL + return; + } + } + + # get configuration passed to flash player + if ($browser->content =~ /\s*flashvars="([^"]+)"/) { + $flashvars = $1; + } else { + # if we can't get it, just leave as the video URL is there + debug("Can't find flashvars"); + return; + } + + debug ("Flashvars: " . $flashvars); + + # in the configuration there is also URL we're looking for + if ($flashvars =~ /&file=(http[^&]+)&/) { + $file = $1; + } else { + debug("Can't find file"); + return; + } + + debug("File: " . $file); + + $url = uri_unescape($file); + debug("URL: '" . $url . "'"); + + # URL ends with filename + $name = $url; + $name =~ s/.*\/([^\/]+\.(flv|mp4)).*/$1/; + debug("Filename: " . $name); + return $url, title_to_filename($name); +} + +1; |