Base: Add debugging to simple_get
[videosite.git] / videosite / Base.pm
index be0272e..6f686f5 100644 (file)
@@ -10,10 +10,10 @@ use Data::Dumper;
 
 sub new {
     my $class = shift;
-    my $self = {'_DEBUG' => 0,
-                '_CONNECTOR' => undef,
-                API => {
-                    io => sub { printf(@_) },
+    my $self = {'_CONNECTOR' => undef,
+                _API => {
+                    io => sub { print(@_) },
+                    io_debug => sub { print(@_) },
                     connectors => sub { return ({ 'name' => 'direct',
                                                   'schemas' => {} }) },
                 },
@@ -40,8 +40,9 @@ sub debug {
     my $self = shift;
     my @data = @_;
 
-    $data[0] = "DEBUG: " . $data[0];
-    if ($self->{'_DEBUG'} != 0) {$self->error(@data)};
+    $data[0] = "("  . ref($self) . ") " . $data[0];
+
+    $self->{_API}->{io_debug}->(@data);
 }
 
 sub _getval {
@@ -84,7 +85,7 @@ sub getconfstr {
     my $p;
 
     foreach $k (keys(%{$self->{'_PARAMS'}})) {
-        $p = $self->{_API}->{config_get}->{$k};
+        $p = $self->_getval($k);
         $s .= sprintf("  %s: %s", $k, $p);
         if ($p eq $self->{'_PARAMS'}->{$k}->[0]) {
             $s .= " (default)\n";
@@ -148,12 +149,6 @@ sub gethelpstr {
     return $s;
 }
 
-sub setdebug {
-    my $self = shift;
-
-    $self->{'_DEBUG'} = shift;
-}
-
 sub ua {
     my $self = shift;
     my $ua;
@@ -215,7 +210,10 @@ sub simple_get {
     my $ua = shift || $self->ua();
     my $r;
 
+    $self->debug("Getting %s", $url);
     $r = $ua->get($url);
+    $self->debug("Return code: %s", $r->status_line);
+    $self->debug("Content length: %d", length($r->decoded_content)) if $r->is_success();
     return $r->decoded_content() if $r->is_success();
     return undef;
 }
@@ -248,13 +246,23 @@ sub selectconn {
 }
 
 #
+# This function was used in previous versions of videosite. If it's called
+# we are dealing with an old plugin which probably needs some minor modifications
+# to work properly.
+#
+# Generate a warning message.
+#
+sub _prepare_parameters {
+    my $self = shift;
+
+    $self->error("THIS MODULE IS CALLING _prepare_parameters(). THIS FUNCTION IS DEPRECATED. See readme.txt in the plugin directory.");
+}
+
+#
 # Register a callbacks into the core API to the plugin.
 # Example of those are config getter/setters and IO functions
 # The API is a hash reference containing subroutine references.
 #
-# After the API is registered an attempt is made to load the config
-# (or set defaults if config values are not found)
-#
 sub register_api {
     my $self = shift;
     my $api = shift;