load submodule config on startup
[xmlrtorrent.git] / xmlrtorrent.pl
index 7adc01f..0f50ba9 100644 (file)
@@ -97,7 +97,7 @@ sub write_irssi {
     my $format = '%%mxmlrtorrent: %%n' . shift(@text);
 
     # escape % in parameters from irssi
-    @text = grep { s/%/%%/g } @text;
+    s/%/%%/g foreach @text;
 
     if (defined($output) and ref($output)) {
         $output->print(sprintf($format, @text), MSGLEVEL_CLIENTCRAP);
@@ -221,6 +221,7 @@ sub cmd_remote {
                            $_->{'NAME'},
                            $_->{'BYTES_DONE'},
                            $_->{'SIZE_BYTES'},
+                           $_->{'BYTES_DONE'}*100/$_->{'SIZE_BYTES'},
                            $_->{'UP_RATE'},
                            $_->{'DOWN_RATE'});
             }
@@ -262,7 +263,7 @@ sub cmd_set {
             return;
         }
     }
-    write_irssi(undef, 'No such module');
+    write_irssi('No such module');
 }
 
 sub cmd_show {
@@ -320,13 +321,13 @@ sub cmd_talker {
         foreach $p (@talkers) {
             if (($p->{'NAME'} eq $target) && ($p->{'TYPE'} eq 'talker')) {
                 $talker = $p;
-                $conf->{'videosite'}->{'talker'} = $target;
+                $conf->{'xmlrtorrent'}->{'talker'} = $target;
                 return;
             }
         }
         write_irssi('No such talker');
     } else {
-        write_irssi('Current talker: %s', $conf->{'videosite'}->{'talker'});
+        write_irssi('Current talker: %s', $conf->{'xmlrtorrent'}->{'talker'});
     }
 }
 
@@ -427,9 +428,13 @@ sub init_xmlrtorrent {
             $talker = $p;
         }
     }
-    write_debug(undef, 'Selected %s as talker', $talker->{'NAME'});
-    $conf->{'videosite'}->{'talker'} = $talker->{'NAME'};
+    write_debug('Selected %s as talker', $talker->{'NAME'});
+    $conf->{'xmlrtorrent'}->{'talker'} = $talker->{'NAME'};
 
+    # Loop through all plugins and load the config
+    foreach $p (@talkers) {
+        $conf->{'xmlrtorrent'}->{'config'}->{$p->{'NAME'}} = $p->mergeconfig($conf->{'xmlrtorrent'}->{'config'}->{$p->{'NAME'}});
+    }
 
     # Restore the queue
     %torrentlist = %{$conf->{'xmlrtorrent'}->{'_QUEUE'}};