- Match multiple URLs per line
[videosite.git] / videosite / GrabberBase.pm
1 # (c) 2007 by Ralf Ertzinger <ralf@camperquake.de>
2 # licensed under GNU GPL v2
3
4 package GrabberBase;
5 use Base;
6 @ISA = qw(Base);
7
8 use strict;
9
10 sub new {
11     my $class = shift;
12     my $self = {
13         NAME => 'FlashGrab',
14         TYPE => 'grabber',
15         PATTERNS => [],
16     };
17     return bless($self, $class);
18 }
19
20 sub get($$) {
21     my $self = shift;
22     my $url = shift;
23     my $pattern;
24
25     return undef unless $self->_getval('enabled');
26
27     foreach $pattern (@{$self->{'PATTERNS'}}) {
28         $self->debug("Matching %s against %s", $pattern, $url);
29         if ($url =~ m|$pattern|) {
30             $self->debug("Match");
31             return $self->_parse($url, $pattern), $pattern;
32         }
33     }
34
35     return undef;
36 }
37
38 sub enable {
39     my $self = shift;
40
41     $self->debug('Enabling %s grabber', $self->{'NAME'});
42     $self->setval('enabled', '1');
43 }
44
45 sub disable {
46     my $self = shift;
47
48     $self->debug('Disabling %s grabber', $self->{'NAME'});
49     $self->setval('enabled', '0');
50 }
51
52 sub _parse {
53     my $self = shift;
54     my $url = shift;
55
56     return undef;
57 }
58
59 1;