aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNigel Taylor <njtaylor0101@gmail.com>2012-10-02 18:54:05 +0100
committerNigel Taylor <njtaylor0101@gmail.com>2012-10-02 18:54:05 +0100
commitf37d60042b9b53014b4abfbfc9753c4268f770de (patch)
treeae6a31bc522ab0cd841dfac6f3ba6a64a528cd5f
parent73db01f61d60b73f2f5d59ee5666170839efb8d4 (diff)
downloadget-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.pm50
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;