1 # (c) 2007 by Ralf Ertzinger <ralf@camperquake.de>
2 # licensed under GNU GPL v2
4 package videosite::GrabberBase;
8 @ISA = qw(videosite::Base);
14 my $self = $class->SUPER::new();
21 return bless($self, $class);
30 return undef unless $self->_getval('enabled');
32 foreach $pattern (@{$self->{'PATTERNS'}}) {
33 $self->debug("Matching %s against %s", $pattern, $url);
34 if ($url =~ m|$pattern|) {
35 $self->debug("Match");
36 foreach ($self->connectors()) {
37 $self->debug("Using connector %s", $_->{'name'});
38 $self->selectconn($_);
39 $res = $self->_parse($url, $pattern);
41 $res->{'CONNECTOR'} = $_;
47 print Dumper($self->_cached_ua());
48 if (defined($self->_cached_ua())) {
49 $res->{COOKIES} = encode_base64("#LWP-Cookies-1.0\n" . $self->_cached_ua()->cookie_jar->as_string(), "");
53 return wantarray?($res, $pattern):$res;
63 $self->debug('Enabling %s grabber', $self->{'NAME'});
64 $self->setval('enabled', '1');
70 $self->debug('Disabling %s grabber', $self->{'NAME'});
71 $self->setval('enabled', '0');
85 unless(exists($self->{_SELFTESTURL}) and exists($self->{_SELFTESTTITLE})) {
89 unless(defined($info = $self->get($self->{_SELFTESTURL}))) {
90 $self->error("Could not get information from %s", $self->{_SELFTESTURL});
94 unless($info->{TITLE} eq $self->{_SELFTESTTITLE}) {
95 $self->error("Title from info does not equal expected result (%s != %s)", $info->{TITLE}, $self->{_SELFTESTTITLE});