# (c) 2007 by Ralf Ertzinger # licensed under GNU GPL v2 package videosite::GrabberBase; use videosite::Base; @ISA = qw(videosite::Base); use strict; sub new { my $class = shift; my $self = $class->SUPER::new(); $self = {%{$self}, NAME => 'FlashGrab', TYPE => 'grabber', PATTERNS => [], }; return bless($self, $class); } sub get($$) { my $self = shift; my $url = shift; my $pattern; my $res; return undef unless $self->_getval('enabled'); foreach $pattern (@{$self->{'PATTERNS'}}) { $self->debug("Matching %s against %s", $pattern, $url); if ($url =~ m|$pattern|) { $self->debug("Match"); foreach ($self->connectors()) { $self->debug("Using connector %s", $_->{'name'}); $self->selectconn($_); $res = $self->_parse($url, $pattern); if (defined($res)) { $res->{'CONNECTOR'} = $_; last; } } return wantarray?($res, $pattern):$res; } } return undef; } sub enable { my $self = shift; $self->debug('Enabling %s grabber', $self->{'NAME'}); $self->setval('enabled', '1'); } sub disable { my $self = shift; $self->debug('Disabling %s grabber', $self->{'NAME'}); $self->setval('enabled', '0'); } sub _parse { my $self = shift; my $url = shift; return undef; } 1;