git-remote-mediawiki: put non-trivial numeric values in constants.
authorCélestin Matte <celestin.matte@ensimag.fr>
Fri, 14 Jun 2013 13:50:34 +0000 (15:50 +0200)
committerJunio C Hamano <gitster@pobox.com>
Fri, 14 Jun 2013 16:02:18 +0000 (09:02 -0700)
Non-trivial numeric values (e.g., different from 0, 1 and 2) are placed in
constants at the top of the code to be easily modifiable and to make more sense

Signed-off-by: Célestin Matte <celestin.matte@ensimag.fr>
Signed-off-by: Matthieu Moy <matthieu.moy@grenoble-inp.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
contrib/mw-to-git/git-remote-mediawiki.perl
index d1e0bb8c385789f92cd0118af49956c103bd816d..1cedbeeced7b2c7a5ce70185f5922845a3d9a129 100755 (executable)
 
 use constant EMPTY => q{};
 
+# Number of pages taken into account at once in submodule get_mw_page_list
+use constant SLICE_SIZE => 50;
+
+# Number of linked mediafile to get at once in get_linked_mediafiles
+# The query is split in small batches because of the MW API limit of
+# the number of links to be returned (500 links max).
+use constant BATCH_SIZE => 10;
+
+use constant HTTP_CODE_OK => 200;
+
 my $remotename = $ARGV[0];
 my $url = $ARGV[1];
 
@@ -229,13 +239,13 @@ sub get_mw_page_list {
        my $pages = shift;
        my @some_pages = @$page_list;
        while (@some_pages) {
-               my $last_page = 50;
+               my $last_page = SLICE_SIZE;
                if ($#some_pages < $last_page) {
                        $last_page = $#some_pages;
                }
                my @slice = @some_pages[0..$last_page];
                get_mw_first_pages(\@slice, $pages);
-               @some_pages = @some_pages[51..$#some_pages];
+               @some_pages = @some_pages[(SLICE_SIZE + 1)..$#some_pages];
        }
        return;
 }
@@ -385,9 +395,7 @@ sub get_linked_mediafiles {
        my $pages = shift;
        my @titles = map { $_->{title} } values(%{$pages});
 
-       # The query is split in small batches because of the MW API limit of
-       # the number of links to be returned (500 links max).
-       my $batch = 10;
+       my $batch = BATCH_SIZE;
        while (@titles) {
                if ($#titles < $batch) {
                        $batch = $#titles;
@@ -469,7 +477,7 @@ sub download_mw_mediafile {
        my $download_url = shift;
 
        my $response = $mediawiki->{ua}->get($download_url);
-       if ($response->code == 200) {
+       if ($response->code == HTTP_CODE_OK) {
                return $response->decoded_content;
        } else {
                print {*STDERR} "Error downloading mediafile from :\n";