X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=videosite%2FCollegeHumorGrabber.pm;h=c7851e37ff87ed7eb735a452dcb05249c67e7aa8;hb=4d0981a45ce2331721226a9c3fc154a82d7fc7fa;hp=c325ed359de56b04e8485b50280d04cd460ad667;hpb=35306939804820c033c8e25ab5aa5134f5dc5735;p=videosite.git diff --git a/videosite/CollegeHumorGrabber.pm b/videosite/CollegeHumorGrabber.pm index c325ed3..c7851e3 100644 --- a/videosite/CollegeHumorGrabber.pm +++ b/videosite/CollegeHumorGrabber.pm @@ -1,9 +1,14 @@ -package CollegeHumorGrabber; +# Grabber for collegehumor.com +# +# (c) 2007 by Ralf Ertzinger +# licensed under GNU GPL v2 -use GrabberBase; -@ISA = qw(GrabberBase); +package videosite::CollegeHumorGrabber; -use LWP::Simple qw(!get); +use videosite::GrabberBase; +@ISA = qw(videosite::GrabberBase); + +use videosite::HTMLHelper; use XML::Simple; use Data::Dumper; @@ -11,15 +16,16 @@ use strict; sub new { my $class = shift; - my $self = $class->SUPER::new(); - - $self->{'NAME'} = 'collegehumor'; - $self->{'PATTERNS'} = ['(http://www.collegehumor.com/video:(\d+))']; - - bless($self, $class); - $self->_prepare_parameters(); - - return $self; + my $self = $class->SUPER::new( + NAME => 'collegehumor', + _SELFTESTURL => 'http://www.collegehumor.com/video/5635400/pixar-intro-parody', + _SELFTESTTITLE => 'Pixar Intro Parody', + PATTERNS => ['(http://www.collegehumor.com/video:(\d+))', + '(http://www.collegehumor.com/video/(\d+))'], + @_, + ); + + return bless($self, $class); } sub _parse { @@ -29,6 +35,7 @@ sub _parse { my $content; my $metadata = {}; my $p = XML::Simple->new(); + my @accum; my $t; $url =~ m|$pattern|; @@ -37,12 +44,12 @@ sub _parse { $metadata->{'URL'} = $url; $metadata->{'ID'} = $2; $metadata->{'TYPE'} = 'video'; - $metadata->{'SOURCE'} = 'collegehumor'; + $metadata->{'SOURCE'} = $self->{'NAME'}; $metadata->{'TITLE'} = undef; $metadata->{'DLURL'} = undef; # Get the XML file containing the video metadata - unless(defined($content = LWP::Simple::get(sprintf('http://www.collegehumor.com/moogaloop/video:%s', $2)))) { + unless(defined($content = $self->simple_get(sprintf('http://www.collegehumor.com/moogaloop/video/%s', $2)))) { $self->error('Could not download XML metadata'); return undef; }