Move config handling to API
authorRalf Ertzinger <ralf@skytale.net>
Wed, 24 Apr 2013 11:42:11 +0000 (13:42 +0200)
committerRalf Ertzinger <ralf@skytale.net>
Wed, 24 Apr 2013 11:42:11 +0000 (13:42 +0200)
videosite/Base.pm

index c641f2d..be0272e 100644 (file)
@@ -47,11 +47,20 @@ sub debug {
 sub _getval {
     my $self = shift;
     my $key = shift;
+    my $path = ['plugin', $self->{NAME}, $key];
     my $val;
 
-    $val = $self->{'_CONFIG'}->{'option'}->{$key}->{'content'};
-    $self->debug('Returning %s=%s', $key, $val);
+    # Try to read from the global config
+    # Fall back to default
+    if ($self->{_API}->{config_has}->($path)) {
+        $val = $self->{_API}->{config_get}->($path);
+    } elsif (exists($self->{_PARAMS}->{$key})) {
+        $val = $self->{_PARAMS}->{$key}->[0];
+    } else {
+        $self->error('Requested unknown config key %s', $key);
+    }
 
+    $self->debug('Returning %s=%s', $key, $val);
     return $val;
 }
 
@@ -59,11 +68,12 @@ sub setval {
     my $self = shift;
     my $key = shift;
     my $val = shift;
+    my $path = ['plugin', $self->{NAME}, $key];
 
-    if (exists($self->{'_CONFIG'}->{'option'}->{$key})) {
-        $self->{'_CONFIG'}->{'option'}->{$key}->{'content'} = $val;
+    if (exists($self->{'_PARAMS'}->{$key})) {
+        $self->{_API}->{config_set}->($path, $val);
     } else {
-        $self->error('Module %s does not have a parameter named %s', $self->{'NAME'}, $key);
+        $self->error('Module does not have a parameter named %s', $self->$key);
     }
 }
 
@@ -73,11 +83,10 @@ sub getconfstr {
     my $k;
     my $p;
 
-    foreach $k (keys(%{$self->{'_CONFIG'}->{'option'}})) {
-        $p = $self->{'_CONFIG'}->{'option'}->{$k}->{'content'};
-        $p =~ s/%/%%/g;
+    foreach $k (keys(%{$self->{'_PARAMS'}})) {
+        $p = $self->{_API}->{config_get}->{$k};
         $s .= sprintf("  %s: %s", $k, $p);
-        if ($self->{'_CONFIG'}->{'option'}->{$k}->{'content'} eq $self->{'_PARAMS'}->{$k}->[0]) {
+        if ($p eq $self->{'_PARAMS'}->{$k}->[0]) {
             $s .= " (default)\n";
         } else {
             $s .= "\n";
@@ -122,9 +131,8 @@ sub gethelpstr {
     }
 
     $s .= " Options:\n";
-    foreach $k (keys(%{$self->{'_CONFIG'}->{'option'}})) {
+    foreach $k (keys(%{$self->{'_PARAMS'}})) {
         $p = $self->{'_PARAMS'}->{$k}->[0];
-        $p =~ s/%/%%/g;
         if (exists($self->{'_PARAMS'}->{$k}->[2])) {
             # The parameter has a list of allowed values. Add the keys and their help
             $s .= sprintf("  %s: %s (default: %s)\n", $k, $self->{'_PARAMS'}->{$k}->[1], $p);