add debug commands to help text
[videosite.git] / videosite.pl
index ee1fa26..9be1fee 100644 (file)
@@ -4,6 +4,8 @@
 # licensed under GNU GPL v2
 #
 # Based on youtube.pl by Christian Garbs <mitch@cgarbs.de>
+# which in turn is
+# based on trigger.pl by Wouter Coekaerts <wouter@coekaerts.be>
 
 use strict;
 use Irssi 20020324 qw (command_bind command_runsub signal_add_first signal_add_last);
@@ -76,10 +78,15 @@ sub check_for_link {
         $witem = Irssi::window_item_find($target);
     }
 
+    # Look if we should ignore this line
+    if ($message =~ m,(?:\s|^)/nosave(?:\s|$),) {
+        return;
+    }
+
     # Offer the message to all Grabbers in turn
     foreach $g (@grabbers) {
         if (defined($m = $g->get($message))) {
-            write_irssi($witem, '%%R>>> %%NSaving %%Y%s%%N %%G%s', $m->{'TYPE'}, $m->{'TITLE'});
+            write_irssi($witem, '%%R>>> %%NSaving %%Y%s%%N %%G%s', $m->{'SOURCE'}, $m->{'TITLE'});
             unless($getter->get($m)) {
                 write_irssi($witem, '%%R>>> FAILED');
             }
@@ -90,7 +97,7 @@ sub check_for_link {
 sub cmd_save {
 
     open(CONF, '>'.$conffile);
-    print CONF XML::Simple::XMLout($conf, KeepRoot => 1, KeyAttr => ['module', 'key']);
+    print CONF XML::Simple::XMLout($conf, KeepRoot => 1, KeyAttr => {'config' => 'module', 'option' => 'key'});
     close(CONF);
 }
 
@@ -147,7 +154,16 @@ sub cmd_help {
         }
         write_irssi(undef, 'No such module');
     } else {
-        write_irssi(undef, "Supported commands:\n save: Save the current configuration\n help [modulename]: Display this help, or module specific help\n show [modulename]: Show loaded modules, or the current parameters of a module\n set modulename parameter value: set a module parameter to a new value\n getter [modulename]: display or set the getter to use");
+        write_irssi(undef,
+                   "Supported commands:\n".
+                   " save: Save the current configuration\n".
+                   " help [modulename]: Display this help, or module specific help\n".
+                   " show [modulename]: Show loaded modules, or the current parameters of a module\n".
+                   " set modulename parameter value: set a module parameter to a new value\n".
+                   " getter [modulename]: display or set the getter to use\n".
+                   " debug: enable debugging messages\n".
+                   " nodebug: disable debugging messages"
+                   );
     }
 }
 
@@ -224,7 +240,7 @@ sub init_videosite {
 
     my $p;
 
-    unless(-r $conffile && defined($conf = XML::Simple::XMLin($conffile, ForceArray => ['config', 'option'], KeepRoot => 1, KeyAttr => ['module', 'key']))) {
+    unless(-r $conffile && defined($conf = XML::Simple::XMLin($conffile, ForceArray => ['config', 'option'], KeepRoot => 1, KeyAttr => {'config' => 'module', 'option' => 'key'}))) {
         # No config, start with an empty one
         write_debug(undef, 'No config found, using defaults');
         $conf = { 'videosite' => { 'getter' => '' }};