X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/546250f60b923c120960e7a1ad9f8176008ce6eb..7f661ec55e3cf054a1f6ef99df090617e7d71b89:/script/misc/update-wiki-pages?ds=inline diff --git a/script/misc/update-wiki-pages b/script/misc/update-wiki-pages old mode 100644 new mode 100755 index 15dd1b6a0..7cd40e59e --- a/script/misc/update-wiki-pages +++ b/script/misc/update-wiki-pages @@ -1,4 +1,5 @@ #!/usr/bin/env perl +use 5.010; use strict; use warnings; @@ -19,19 +20,15 @@ use Test::More 'no_plan'; =head1 NAME -update-wiki-pages - Screen-scrape the wiki for key/value wiki description pages +update-wiki-pages - Scrape the wiki for key/value wiki description pages =head1 SYNOPSIS perl script/misc/update-wiki-pages config/wiki_pages.yml -=head1 BUGS +Or with prove(1): -This will break if there are more than 500 key or value pages. Paging -needs to be implemenented. - -That or using a proper API or something (if it's there) or making a -direct query to the wiki database. + prove -e 'perl script/misc/update-wiki-pages' config/wiki_pages.yml =cut @@ -45,7 +42,10 @@ Getopt::Long::Parser->new( # On --help help() if $help; -help() unless $ARGV[0]; +my $out_file = $ARGV[0]; +$out_file //= 'config/wiki_pages.yml'; + +help() unless -f $out_file; # Get a API interface my $mw = MediaWiki::API->new(); @@ -68,7 +68,7 @@ for my $lang ('', map { "${_}:" } qw[ Pt Fi De It HU Cz Fr RU Pl ]) { # Value pages ok(1, " Getting value pages"); - my $cnt = stick_content_in_hash("tag", "Template:${lang}ValueDescription", \%feature); + $cnt = stick_content_in_hash("tag", "Template:${lang}ValueDescription", \%feature); ok(1, " Got $cnt value pages"); $count{value} += $cnt; } @@ -76,7 +76,7 @@ for my $lang ('', map { "${_}:" } qw[ Pt Fi De It HU Cz Fr RU Pl ]) { ok(1, "Got a total of $count{$_} ${_}s") for qw[ key value ]; # Dump to .yml file -open my $out, ">", $ARGV[0] or die "Can't open file '$ARGV[0]' supplied on the command line"; +open my $out, ">", $out_file or die "Can't open file '$out_file' supplied on the command line"; say $out "# THIS FILE IS AUTOGENERATED WITH THE script/misc/update-wiki-pages"; say $out "# PROGRAM DO NOT MANUALLY EDIT IT"; say $out "";