]> git.openstreetmap.org Git - rails.git/blobdiff - script/misc/update-wiki-pages
More draggable routes work
[rails.git] / script / misc / update-wiki-pages
old mode 100644 (file)
new mode 100755 (executable)
index 15dd1b6..7cd40e5
@@ -1,4 +1,5 @@
 #!/usr/bin/env perl
 #!/usr/bin/env perl
+use 5.010;
 use strict;
 use warnings;
 
 use strict;
 use warnings;
 
@@ -19,19 +20,15 @@ use Test::More 'no_plan';
 
 =head1 NAME
 
 
 =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 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
 
 
 =cut
 
@@ -45,7 +42,10 @@ Getopt::Long::Parser->new(
 # On --help
 help() if $help;
 
 # 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();
 
 # 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");
 
     # 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;
 }
     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
 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 "";
 say $out "# THIS FILE IS AUTOGENERATED WITH THE script/misc/update-wiki-pages";
 say $out "# PROGRAM DO NOT MANUALLY EDIT IT";
 say $out "";