write_irssi(undef, 'No such module');
}
+
+sub cmd_enable {
+ my $target = shift;
+ my $p;
+
+ foreach $p (@grabbers) {
+ if ($p->{'NAME'} eq $target) {
+ $p->enable();
+ return;
+ }
+ }
+ write_irssi(undef, 'No such module');
+}
+
+
+sub cmd_disable {
+ my $target = shift;
+ my $p;
+
+ foreach $p (@grabbers) {
+ if ($p->{'NAME'} eq $target) {
+ $p->disable();
+ return;
+ }
+ }
+ write_irssi(undef, 'No such module');
+}
+
+
sub cmd_show {
my $target = shift;
my $p;
+ my $e;
if (defined($target)) {
foreach $p (@getters, @grabbers) {
}
write_irssi(undef, 'No such module');
} else {
- write_irssi(undef, 'Loaded grabbers:');
+ write_irssi(undef, 'Loaded grabbers (* denotes enabled modules):');
foreach $p (@grabbers) {
- write_irssi(undef, ' ' . $p->{'NAME'});
+ $e = $p->_getval('enabled');
+ write_irssi(undef, ' %s%s', $p->{'NAME'}, $e?'*':'');
};
write_irssi(undef, 'Loaded getters:');
foreach $p (@getters) {
- write_irssi(undef, ' ' . $p->{'NAME'});
+ write_irssi(undef, ' %s', $p->{'NAME'});
};
}
}
show [modulename]: Show loaded modules, or the current parameters of a module
set modulename parameter value: set a module parameter to a new value
getter [modulename]: display or set the getter to use
+ enable [modulename]: enable the usage of this module (grabbers only)
+ disable [modulename]: disable the usage of this module (grabbers only)
debug: enable debugging messages
nodebug: disable debugging messages
EOT
} elsif ($params[0] eq 'getter') {
shift(@params);
cmd_getter(@params);
+ } elsif ($params[0] eq 'enable') {
+ shift(@params);
+ cmd_enable(@params);
+ } elsif ($params[0] eq 'disable') {
+ shift(@params);
+ cmd_disable(@params);
} elsif ($params[0] eq 'debug') {
$debug = 1;
foreach (@grabbers, @getters) {
my $url = shift;
my $pattern;
+ return undef unless $self->_getval('enabled');
+
foreach $pattern (@{$self->{'PATTERNS'}}) {
$self->debug("Matching %s against %s", $pattern, $url);
if ($url =~ m|$pattern|) {
return undef;
}
+sub enable {
+ my $self = shift;
+
+ $self->debug('Enabling %s grabber', $self->{'NAME'});
+ $self->setval('enabled', '1');
+}
+
+sub disable {
+ my $self = shift;
+
+ $self->debug('Disabling %s grabber', $self->{'NAME'});
+ $self->setval('enabled', '0');
+}
+
sub _parse {
my $self = shift;
my $url = shift;