diff options
author | Nigel Taylor <njtaylor0101@gmail.com> | 2012-10-02 18:54:05 +0100 |
---|---|---|
committer | Nigel Taylor <njtaylor0101@gmail.com> | 2012-10-02 18:54:05 +0100 |
commit | f37d60042b9b53014b4abfbfc9753c4268f770de (patch) | |
tree | ae6a31bc522ab0cd841dfac6f3ba6a64a528cd5f | |
parent | 73db01f61d60b73f2f5d59ee5666170839efb8d4 (diff) | |
download | get-flash-videos-f37d60042b9b53014b4abfbfc9753c4268f770de.tar.gz |
New plugin Presstv.pm issue #436 PressTV not supported.
needs better file naming.
-rw-r--r-- | lib/FlashVideo/Site/Presstv.pm | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/lib/FlashVideo/Site/Presstv.pm b/lib/FlashVideo/Site/Presstv.pm new file mode 100644 index 0000000..a4aa7db --- /dev/null +++ b/lib/FlashVideo/Site/Presstv.pm @@ -0,0 +1,50 @@ +# Part of get-flash-videos. See get_flash_videos for copyright. +package FlashVideo::Site::Presstv; + +use strict; +use FlashVideo::Utils; +use URI; + +sub find_video { + my ($self, $browser, $embed_url, $prefs) = @_; + + my $page_url = $browser->uri; + my $swfVfy = ($browser->content =~ /SWFObject\('(http.[^']+)'/i)[0]; + my $rtmp = ($browser->content =~ /'streamer',\s*'(rtmp:[^']+)'/i)[0]; + my $file = ($browser->content =~ /'file',\s*'([^']+)'/i)[0]; + my $app = ($rtmp =~ m%rtmp://[^/]+/(.*)$%)[0]; + my $filename = ($file =~ m%/([^/]+)$%)[0]; + $filename =~ s/:/_/g; + + my @rtmpdump_commands; + + my $args = { + app => $app, + pageUrl => $page_url, + swfVfy => $swfVfy, + rtmp => $rtmp, + playpath => $file, + flv => "$filename.flv", + }; + + push @rtmpdump_commands, $args; + + if (@rtmpdump_commands > 1) { + return \@rtmpdump_commands; + } + else { + return $rtmpdump_commands[-1]; + } +} + +sub can_handle { + my($self, $browser, $url) = @_; + + my $host = URI->new($url)->host; + return 1 if $url && $host =~ /^presstv\.(com|ir)$/; + return 1 if $url && $host =~ /\.presstv\.(com|ir)$/; + debug "Presstv.pm no match found\n"; + return 0; +} + +1; |