X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=videosite%2FFileGetter.pm;h=f7c680ec75ba33db36737b617745a9540a2397ea;hb=bde8149e4eac9d8c194adf1daa99ca8ccddb6d82;hp=a01c2857df727155609ecca7847990a58e407aa6;hpb=d738e03f4f2d70a41eba8b77177826d1ff62f42b;p=videosite.git diff --git a/videosite/FileGetter.pm b/videosite/FileGetter.pm index a01c285..f7c680e 100644 --- a/videosite/FileGetter.pm +++ b/videosite/FileGetter.pm @@ -1,10 +1,15 @@ -package FileGetter; +# (c) 2007 by Ralf Ertzinger +# licensed under GNU GPL v2 +# +# A getter which will download the media to a local file storage +# -use GetterBase; -@ISA = qw(GetterBase); +package videosite::FileGetter; + +use videosite::GetterBase; +@ISA = qw(videosite::GetterBase); use strict; -use LWP::Simple qw(!get); use File::Basename; sub new { @@ -25,9 +30,11 @@ sub get { my $video = shift; my $dlfile; my $dirname; + my $ua; + my $res; $dlfile = sprintf($self->_getval('FILEPATTERN'), - $self->_encode($video->{'TYPE'}), + $self->_encode($video->{'SOURCE'}), $self->_encode($video->{'ID'}), $self->_encode($video->{'TITLE'}), $self->_encode($video->{'DLURL'}), @@ -39,10 +46,16 @@ sub get { return 0; } + if (exists($video->{'CONNECTOR'})) { + $self->selectconn($video->{'CONNECTOR'}); + } + $ua = $self->ua(); + $self->debug('Going to download %s to %s', $video->{'DLURL'}, $dlfile); - if (200 != LWP::Simple::mirror($video->{'DLURL'}, $dlfile)) { - $self->error('Could not download %s to %s', $video->{'DLURL'}, $dlfile); + $res = $ua->mirror($video->{'DLURL'}, $dlfile); + if (!$res->is_success()) { + $self->error('Could not download %s to %s (%s)', $video->{'DLURL'}, $dlfile, $res->code()); return 0; }