Base, GrabberBase: change hash keys for connectors
[videosite.git] / videosite / GrabberBase.pm
index a838925..e39be83 100644 (file)
@@ -1,15 +1,17 @@
 # (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;
+@ISA = qw(videosite::Base);
 
 use strict;
 
 sub new {
     my $class = shift;
-    my $self = {
+    my $self = $class->SUPER::new();
+
+    $self = {%{$self},
         NAME => 'FlashGrab',
         TYPE => 'grabber',
         PATTERNS => [],
@@ -21,6 +23,7 @@ sub get($$) {
     my $self = shift;
     my $url = shift;
     my $pattern;
+    my $res;
 
     return undef unless $self->_getval('enabled');
 
@@ -28,7 +31,16 @@ sub get($$) {
         $self->debug("Matching %s against %s", $pattern, $url);
         if ($url =~ m|$pattern|) {
             $self->debug("Match");
-            return $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;
+                }
+            }
+            return wantarray?($res, $pattern):$res;
         }
     }