]>
Commit | Line | Data |
---|---|---|
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. |