Reviewed-by: Antoine Beaupré <[email protected]>
Signed-off-by: Antoine Beaupré <[email protected]>
---
contrib/mw-to-git/git-remote-mediawiki.perl | 31 +++++++++++++++++++----------
1 file changed, 21 insertions(+), 10 deletions(-)
diff --git a/contrib/mw-to-git/git-remote-mediawiki.perl
b/contrib/mw-to-git/git-remote-mediawiki.perl
index 07cc74bac..ccefde4dc 100755
--- a/contrib/mw-to-git/git-remote-mediawiki.perl
+++ b/contrib/mw-to-git/git-remote-mediawiki.perl
@@ -264,16 +264,27 @@ sub get_mw_tracked_categories {
sub get_mw_tracked_namespaces {
my $pages = shift;
- foreach my $local_namespace (@tracked_namespaces) {
- my $mw_pages = $mediawiki->list( {
- action => 'query',
- list => 'allpages',
- apnamespace => get_mw_namespace_id($local_namespace),
- aplimit => 'max' } )
- || die $mediawiki->{error}->{code} . ': '
- . $mediawiki->{error}->{details} . "\n";
- foreach my $page (@{$mw_pages}) {
- $pages->{$page->{title}} = $page;
+ foreach my $local_namespace (sort @tracked_namespaces) {
+ my ($mw_pages, $namespace_id);
+ if ($local_namespace eq "(Main)") {
+ $namespace_id = 0;
+ } else {
+ $namespace_id = get_mw_namespace_id($local_namespace);
+ }
+ if ($namespace_id >= 0) {
+ if ($mw_pages = $mediawiki->list( {
+ action => 'query',
+ list => 'allpages',
+ apnamespace => $namespace_id,
+ aplimit => 'max' } )) {
+ print {*STDERR} "$#{$mw_pages} found in namespace
$local_namespace ($namespace_id)\n";
+ foreach my $page (@{$mw_pages}) {
+ $pages->{$page->{title}} = $page;
+ }
+ } else {
+ warn $mediawiki->{error}->{code} . ': '
+ . $mediawiki->{error}->{details} . "\n";
+ }
}
}
return;
--
2.11.0