From 6bbc740269f85c48aa0c9b25c274ca8a09ddc4a4 Mon Sep 17 00:00:00 2001 From: Ralf Ertzinger Date: Sat, 2 Aug 2008 20:56:40 +0200 Subject: [PATCH] - fix vimeo grabber --- videosite/VimeoGrabber.pm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/videosite/VimeoGrabber.pm b/videosite/VimeoGrabber.pm index d09f4b2..b293ed8 100644 --- a/videosite/VimeoGrabber.pm +++ b/videosite/VimeoGrabber.pm @@ -57,18 +57,22 @@ sub _parse { return undef; } - # There is no XML header in the data, which makes XML::Simple unhappy - $content = '' . $content; - unless(defined($t = $p->XMLin($content, KeepRoot => 1))) { $self->error('Could not parse XML metadata'); return undef; } - $dlurl = $t->{'xml'}->{'video'}->{'hd_file'} || $t->{'xml'}->{'video'}->{'file'}; + if (exists($t->{'xml'}->{'video'}->{'is_hd'}) and (0 != $t->{'xml'}->{'video'}->{'is_hd'})) { + $self->debug('Selecting HD video'); + $dlurl = $t->{'xml'}->{'video'}->{'hd_file'}; + } else { + $self->debug('Selecting SD video'); + $dlurl = $t->{'xml'}->{'video'}->{'file'}; + } $timestamp = $t->{'xml'}->{'timestamp'}; unless(defined($dlurl)) { + $self->error('No dlurl found in XML'); return undef; } @@ -79,6 +83,7 @@ sub _parse { $timestamp += 1800; $hash = md5_hex(sprintf('redFiretruck%s?e=%d', $dlpath, $timestamp)); } else { + $self->error('Unknown dlurl scheme: %s', $dlurl); return undef; } -- 1.8.3.1