+# library to autodownload flash videos
+#
+# (c) 2007-2008 by Ralf Ertzinger <ralf@camperquake.de>
+# 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>
+
package libvideosite;
require Exporter;
'_immutable' => '1',
'schemas' => {},
}
- }
+ },
+ 'config-version' => '2',
};
#
my @text = @_;
my $format;
+ @text = ('') unless(@text);
+
# This will define the outputprefix once, so we don't have
# do do this every time.
- $outputprefix //= sprintf("%svideosite: %s",
- $remote_api->{color}->('magenta'),
- $remote_api->{color}->());
+ $outputprefix = sprintf("%svideosite: %s",
+ _colorpair('magenta'),
+ _colorpair()) unless(defined($outputprefix));
$format = $outputprefix . shift(@text);
#
sub _colorpair {
my ($fg, $bg) = @_;
+ $fg = defined($fg)?$fg:'default';
+ $bg = defined($bg)?$bg:'default';
+
return $remote_api->{color}->($fg, $bg);
}
my $path = shift;
my $value = shift;
- unless($remote_api->{config_has}->($path)) {
- $remote_api->{config_set}->($path, $value);
+ unless(_config_has($path)) {
+ _config_set($path, $value);
}
}
@c = ();
}
- _debug("Adding %s to list %s", $item, join(".", $path));
+ _debug("Adding %s to list %s", $item, join(".", @{$path}));
unless(grep { $_ eq $item } @c) {
push(@c, $item);
};
return;
}
- _debug("Removing %s from list %s", $item, join('.', $path));
+ _debug("Removing %s from list %s", $item, join('.', @{$path}));
@c = map { $item ne $_ } split(/\s*,\s*/, _config_get($path));
_config_set($path, join('.', @c));
return 0;
}
- _debug("Checking for %s in list %s", $item, join('.', $path));
+ _debug("Checking for %s in list %s", $item, join('.', @{$path}));
return grep { $item eq $_ } split(/\s*,\s*/, _config_get($path));
}
sub _config_list_set {
my $path = shift;
- _debug("Replacing %s with (%s)", join('.', $path), join(",", @_));
+ _debug("Replacing %s with (%s)", join('.', @{$path}), join(",", @_));
_config_set($path, join(',', @_));
}
return;
}
- unless (_config_list_has(['defined-connectors'])) {
+ unless (_config_list_has(['defined-connectors'], $name)) {
_io("Connector does not exist");
return;
}
if ('download' eq _config_get(['mode'])) {
_io(
sprintf('%s>>> %sSaving %s%%s%s %s%%s',
- $remote_api->{color}->('*red'),
- $remote_api->{color}->(),
- $remote_api->{color}->('*yellow'),
- $remote_api->{color}->(),
- $remote_api->{color}->('*green'),
+ _colorpair('*red'),
+ _colorpair(),
+ _colorpair('*yellow'),
+ _colorpair(),
+ _colorpair('*green'),
),
$m->{'SOURCE'},
$m->{'TITLE'}
);
unless($getter->get($m)) {
- _io(sprintf('%s>>> FAILED', $remote_api->{color}->('*red')));
+ _io(sprintf('%s>>> FAILED', _colorpair('*red')));
}
} elsif ('display' eq _config_get(['mode'])) {
_io(
sprintf('%s>>> %sSaw %s%%s%s %s%%s',
- $remote_api->{color}->('*magenta'),
- $remote_api->{color}->(),
- $remote_api->{color}->('*yellow'),
- $remote_api->{color}->(),
- $remote_api->{color}->('*green')
+ _colorpair('*magenta'),
+ _colorpair(),
+ _colorpair('*yellow'),
+ _colorpair(),
+ _colorpair('*green')
),
$m->{'SOURCE'},
$m->{'TITLE'}
);
} else {
- _io(sprintf('%s>>> Invalid operation mode', $remote_api->{color}->('*red')));
+ _io(sprintf('%s>>> Invalid operation mode', _colorpair('*red')));
}
# Remove the matched part from the message and try again (there may be