From 8173f654b3ca8dd8f1184462253b228f84486c8d Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 21 Mar 2021 20:52:47 +0000 Subject: [PATCH] media-scraper: Support "scrapers" that are just local massaging Signed-off-by: Ian Jackson --- media-scraper | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/media-scraper b/media-scraper index 5513ad3f..2a633905 100755 --- a/media-scraper +++ b/media-scraper @@ -77,6 +77,7 @@ sub cfg_affixes ($$$) { sub method_none { return sub { } } sub methodlic_none { undef } +sub methodisoffline_none { 0 } sub methodlic_wikimedia ($) { my ($scraper) = @_; @@ -139,6 +140,8 @@ sub method_wikimedia ($$$) { }; } +sub methodisoffline_wikimedia { 0 } + our $offline; while (@ARGV && $ARGV[0] =~ m/^-/) { @@ -166,6 +169,8 @@ my $method_fn = ${*::}{"method_$method"}; my $methodlic_fn = ${*::}{"methodlic_$method"}; my $licpath = "$basename/LICENCE"; +my $methodisoffline_fn = ${*::}{"methodisoffline_$method"}; + my $method_lictext = $methodlic_fn->($scraper); if (defined $method_lictext) { my $licfile = new IO::File "$licpath.tmp", '>' or die $!; @@ -304,16 +309,18 @@ END $process_colours->(); - if (stat $lupstream) { - print DEBUG "already.\n"; - next; - } - die "$lupstream $!" unless $!==ENOENT; + if (! $methodisoffline_fn->($basename, $lupstream)) { + if (stat $lupstream) { + print DEBUG "already.\n"; + next; + } + die "$lupstream $!" unless $!==ENOENT; - if ($offline) { - print DEBUG "missing.\n"; - warn "offline but $lupstream missing\n"; - next; + if ($offline) { + print DEBUG "missing.\n"; + warn "offline but $lupstream missing\n"; + next; + } } $method_impl->($lbase, $lupstream, $rstem); -- 2.30.2