]> git.pld-linux.org Git - packages/clive.git/blame - clive-reporter.patch
- rediffed patches. works
[packages/clive.git] / clive-reporter.patch
CommitLineData
67a1036f
ER
1--- clive-2.1.0/clive 2008-12-11 23:42:37.000000000 +0200
2+++ clive-2.1.0-reporter/clive 2008-12-11 23:43:19.000000000 +0200
e8c6b415
ER
3@@ -85,6 +85,7 @@
4 IsLastfm => qr|\Qlast.fm\E|i,
5 IsLiveleak => qr|\Qliveleak.com\E|i,
6 IsDelfi => qr|\Q.delfi.\E|i,
7+ IsReporter => qr|\Qwww.reporter.ee\E|i,
8 #IsMetacafe => qr|\Qmetacafe.com\E|i,
9 );
67a1036f
ER
10
11@@ -306,6 +307,8 @@
e8c6b415
ER
12 ($xurl, $id) = handle_liveleak($response_ref, $response_fh);
13 } elsif ( $url =~ /$re_hosts{IsDelfi}/ ) {
67a1036f 14 ($xurl, $id) = handle_delfi($response_ref, $response_fh);
e8c6b415
ER
15+ } elsif ( $url =~ /$re_hosts{IsReporter}/ ) {
16+ ($xurl, $id) = handle_reporter($response_ref, $response_fh);
17 }
67a1036f
ER
18 # elsif ( $url =~ /$re_hosts{IsMetacafe}/ ) {
19 # ($xurl, $id) = handle_metacafe($response_ref);
20@@ -369,6 +372,14 @@
e8c6b415
ER
21 $content_ok = 1;
22 }
23 }
67a1036f 24+ # Reporter returns "flv-application/octet-stream"
e8c6b415
ER
25+ } elsif ( $content_type =~ m!application/octet-stream! ) {
26+ if ( $entry{page_url} =~ /$re_hosts{IsReporter}/ ) {
27+ if ( $opts{format} eq "flv" ) {
28+ $entry{file_suffix} = 'flv';
29+ $content_ok = 1;
30+ }
31+ }
32 }
33 $errmsg = "expected different content-type, "
67a1036f
ER
34 . "received \"$content_type\"" unless $content_ok;
35@@ -773,6 +784,27 @@
36 return ($xurl, $id);
e8c6b415
ER
37 }
38
39+sub handle_reporter {
40+ my ($response_ref, $response_fh) = @_;
41+
42+ my %re = (
67a1036f
ER
43+ # http://www.reporter.ee/index.php/2008/04/21/soiduopetaja-vorpis-poiste-nupeldamisest-videoklippe/
44+ GrabVideoPrefix => qr|obj\s+=\s+{type:"video",file:"(\w+://[^"]+)|,
45+ GrabVideoID => qr|attributes\s+=\s+{id:\s+"video([^"]+)"|,
e8c6b415
ER
46+ );
47+
67a1036f 48+ my $xurl;
e8c6b415
ER
49+ my $id = $1 if $$response_ref =~ /$re{GrabVideoID}/;
50+ my $prefix = $1 if $$response_ref =~ /$re{GrabVideoPrefix}/;
51+
67a1036f 52+ if ($id and $prefix) {
e8c6b415 53+ $xurl = $prefix . $id . '.flv';
67a1036f 54+ } else {
e8c6b415
ER
55+ print STDERR "error: url not found\n";
56+ }
57+
58+ return ($xurl, $id);
59+}
67a1036f 60
e8c6b415
ER
61 # Subroutines: Progress
62 # NOTE: the 'dot' progress copies much from wget.
This page took 0.063391 seconds and 4 git commands to generate.