X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=blobdiff_plain;f=libvideosite.pm;h=4252338b081b0e934294b7a743b337a9b5b2fbc3;hb=89e8775f8f880bd14731e4501d13a3d63fe5fcb5;hp=b581e5a1503354d6b58fa80598c864d5794a798c;hpb=8a35ad996dcea67721b8ba74afbfbc90a10ecbfe;p=videosite.git diff --git a/libvideosite.pm b/libvideosite.pm index b581e5a..4252338 100644 --- a/libvideosite.pm +++ b/libvideosite.pm @@ -1,3 +1,12 @@ +# library to autodownload flash videos +# +# (c) 2007-2008 by Ralf Ertzinger +# licensed under GNU GPL v2 +# +# Based on youtube.pl by Christian Garbs +# which in turn is +# based on trigger.pl by Wouter Coekaerts + package libvideosite; require Exporter; @@ -37,7 +46,8 @@ my $defaultconfig = { '_immutable' => '1', 'schemas' => {}, } - } + }, + 'config-version' => '2', }; # @@ -135,8 +145,8 @@ sub _io { # 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}->()) unless(defined($outputprefix)); + _colorpair('magenta'), + _colorpair()) unless(defined($outputprefix)); $format = $outputprefix . shift(@text); # @@ -173,6 +183,9 @@ sub _recursive_hash_walk { sub _colorpair { my ($fg, $bg) = @_; + $fg = defined($fg)?$fg:'default'; + $bg = defined($bg)?$bg:'default'; + return $remote_api->{color}->($fg, $bg); } @@ -183,8 +196,8 @@ sub _init_config_item { 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); } } @@ -989,32 +1002,32 @@ sub check_for_link { 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