GrabberBase: remove debug print statements
[videosite.git] / videosite / GrabberBase.pm
index 6a1c70a..44bde35 100644 (file)
@@ -1,9 +1,11 @@
 # (c) 2007 by Ralf Ertzinger <ralf@camperquake.de>
 # licensed under GNU GPL v2
 
-package GrabberBase;
-use Base;
-@ISA = qw(Base);
+package videosite::GrabberBase;
+use videosite::Base;
+use MIME::Base64;
+use Data::Dumper;
+@ISA = qw(videosite::Base);
 
 use strict;
 
@@ -23,6 +25,7 @@ sub get($$) {
     my $self = shift;
     my $url = shift;
     my $pattern;
+    my $res;
 
     return undef unless $self->_getval('enabled');
 
@@ -30,7 +33,22 @@ sub get($$) {
         $self->debug("Matching %s against %s", $pattern, $url);
         if ($url =~ m|$pattern|) {
             $self->debug("Match");
-            return wantarray?($self->_parse($url, $pattern), $pattern):$self->_parse($url, $pattern);
+            foreach ($self->connectors()) {
+                $self->debug("Using connector %s", $_->{'name'});
+                $self->selectconn($_);
+                $res = $self->_parse($url, $pattern);
+                if (defined($res)) {
+                    $res->{'CONNECTOR'} = $_;
+                    last;
+                }
+            }
+            if (defined($res)) {
+                if (defined($self->_cached_ua())) {
+                    $res->{COOKIES} = encode_base64("#LWP-Cookies-1.0\n" . $self->_cached_ua()->cookie_jar->as_string(), "");
+                }
+            }
+
+            return wantarray?($res, $pattern):$res;
         }
     }
 
@@ -58,4 +76,25 @@ sub _parse {
     return undef;
 }
 
+sub _selftest {
+    my $self = shift;
+    my $info;
+
+    unless(exists($self->{_SELFTESTURL}) and exists($self->{_SELFTESTTITLE})) {
+        return 0;
+    }
+
+    unless(defined($info = $self->get($self->{_SELFTESTURL}))) {
+        $self->error("Could not get information from %s", $self->{_SELFTESTURL});
+        return undef;
+    }
+
+    unless($info->{TITLE} eq $self->{_SELFTESTTITLE}) {
+        $self->error("Title from info does not equal expected result (%s != %s)", $info->{TITLE}, $self->{_SELFTESTTITLE});
+        return undef;
+    }
+
+    return 1;
+}
+
 1;