1 --- clive-2.1.9/clive~ 2009-03-30 12:13:37.000000000 +0200
2 +++ clive-2.1.9/clive 2009-03-30 12:15:01.000000000 +0200
4 IsEvisor => qr|evisor.tv|i,
5 IsDmotion => qr|dailymotion.com|i,
6 IsDelfi => qr|.delfi.|i,
7 + IsReporter => qr|www.reporter.ee|i,
12 ($xurl, $id) = handle_dmotion($response_ref);
13 } elsif ( $url =~ /$re_hosts{IsDelfi}/ ) {
14 ($xurl, $id) = handle_delfi($response_ref, $response_fh);
15 + } elsif ( $url =~ /$re_hosts{IsReporter}/ ) {
16 + ($xurl, $id) = handle_reporter($response_ref, $response_fh);
19 if !$xurl or !$id or !$title;
24 + # Reporter returns "flv-application/octet-stream"
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';
33 $errmsg = "expected different content-type, "
34 . "received \"$content_type\"" unless $content_ok;
35 @@ -1061,6 +1062,28 @@
39 +sub handle_reporter {
40 + my ($response_ref, $response_fh) = @_;
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([^"]+)"|,
49 + my $id = $1 if $$response_ref =~ /$re{GrabVideoID}/;
50 + my $prefix = $1 if $$response_ref =~ /$re{GrabVideoPrefix}/;
52 + if ($id and $prefix) {
53 + $xurl = $prefix . $id . '.flv';
55 + print STDERR "error: url not found\n";
58 + return ($xurl, $id);
61 # Subroutines: Progress
62 # NOTE: the 'dot' progress copies much from wget.