git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v4 5/7] remote-mediawiki: support fetching from (Main) namespace

From
Antoine Beaupré <anarcat@debian.org>
Date
Nov 6, 2017, 21:19 UTC
Message-ID
<20171106211953.27910-6-anarcat@debian.org>
In-Reply-To
<20171106211953.27910-1-anarcat@debian.org>

When we specify a list of namespaces to fetch from, by default the MW API will not fetch from the default namespace, refered to as "(Main)" in the documentation:

https://www.mediawiki.org/wiki/Manual:Namespace#Built-in_namespaces

I haven't found a way to address that "(Main)" namespace when getting the namespace ids: indeed, when listing namespaces, there is no "canonical" field for the main namespace, although there is a "*" field that is set to "" (empty). So in theory, we could specify the empty namespace to get the main namespace, but that would make specifying namespaces harder for the user: we would need to teach users about the "empty" default namespace. It would also make the code more complicated: we'd need to parse quotes in the configuration.

So we simply override the query here and allow the user to specify "(Main)" since that is the publicly documented name.

Signed-off-by: Antoine Beaupré <anarcat@debian.org>
---
 contrib/mw-to-git/git-remote-mediawiki.perl | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/contrib/mw-to-git/git-remote-mediawiki.perl b/contrib/mw-to-git/git-remote-mediawiki.perl
index 7f483180f..7a0824f31 100755
--- a/contrib/mw-to-git/git-remote-mediawiki.perl
+++ b/contrib/mw-to-git/git-remote-mediawiki.perl
@@ -264,7 +264,12 @@ sub get_mw_tracked_categories {
 sub get_mw_tracked_namespaces {
     my $pages = shift;
     foreach my $local_namespace (@tracked_namespaces) {
-        my $namespace_id = get_mw_namespace_id($local_namespace);
+        my $namespace_id;
+        if ($local_namespace eq "(Main)") {
+            $namespace_id = 0;
+        } else {
+            $namespace_id = get_mw_namespace_id($local_namespace);
+        }
         # virtual namespaces don't support allpages
         next if !defined($namespace_id) || $namespace_id < 0;
         my $mw_pages = $mediawiki->list( {
-- 
2.11.0
Previous: Antoine BeaupréNext: Antoine Beaupré
Message 56 of 78 in “WIP: git-remote-media wiki namespace support”
  1. 0/4 WIP: git-remote-media wiki namespace supportAntoine Beaupré, Oct 29, 2017
  2. 4/4 remote-mediawiki: allow using (Main) as a namespace and skip special namespacesAntoine Beaupré, Oct 29, 2017
  3. Eric SunshineOct 29, 2017
  4. Antoine BeaupréOct 30, 2017
  5. Eric SunshineOct 30, 2017
  6. Antoine BeaupréOct 30, 2017
  7. Eric SunshineOct 30, 2017
  8. Antoine BeaupréOct 30, 2017
  9. 1/4 remote-mediawiki: add namespace supportAntoine Beaupré, Oct 29, 2017
  10. Eric SunshineOct 29, 2017
  11. Antoine BeaupréOct 29, 2017
  12. Eric SunshineOct 29, 2017
  13. KevinOct 29, 2017
  14. Antoine BeaupréOct 30, 2017
  15. 0/7 remote-mediawiki: add namespace supportAntoine Beaupré, Oct 30, 2017
  16. 1/7 remote-mediawiki: add namespace supportAntoine Beaupré, Oct 30, 2017
  17. 3/7 remote-mediawiki: show known namespace choices on failureAntoine Beaupré, Oct 30, 2017
  18. 5/7 remote-mediawiki: support fetching from (Main) namespaceAntoine Beaupré, Oct 30, 2017
  19. Eric SunshineNov 1, 2017
  20. Antoine BeaupréNov 2, 2017
  21. 6/7 remote-mediawiki: process namespaces in orderAntoine Beaupré, Oct 30, 2017
  22. Eric SunshineNov 1, 2017
  23. 7/7 remote-mediawiki: show progress while fetching namespacesAntoine Beaupré, Oct 30, 2017
  24. Eric SunshineNov 1, 2017
  25. 4/7 remote-mediawiki: skip virtual namespacesAntoine Beaupré, Oct 30, 2017
  26. Eric SunshineNov 1, 2017
  27. Antoine BeaupréNov 1, 2017
  28. Junio C HamanoNov 2, 2017
  29. Antoine BeaupréNov 2, 2017
  30. Junio C HamanoNov 6, 2017
  31. 2/7 remote-mediawiki: allow fetching namespaces with spacesAntoine Beaupré, Oct 30, 2017
  32. 0/7 remote-mediawiki: namespace supportAntoine Beaupré, Nov 2, 2017
  33. 1/7 remote-mediawiki: add namespace supportAntoine Beaupré, Nov 2, 2017
  34. 2/7 remote-mediawiki: allow fetching namespaces with spacesAntoine Beaupré, Nov 2, 2017
  35. 3/7 remote-mediawiki: show known namespace choices on failureAntoine Beaupré, Nov 2, 2017
  36. 4/7 remote-mediawiki: skip virtual namespacesAntoine Beaupré, Nov 2, 2017
  37. Eric SunshineNov 2, 2017
  38. Antoine BeaupréNov 2, 2017
  39. 5/7 remote-mediawiki: support fetching from (Main) namespaceAntoine Beaupré, Nov 2, 2017
  40. Eric SunshineNov 2, 2017
  41. 7/7 remote-mediawiki: show progress while fetching namespacesAntoine Beaupré, Nov 2, 2017
  42. Thomas AdamNov 2, 2017
  43. Antoine BeaupréNov 2, 2017
  44. Thomas AdamNov 2, 2017
  45. Antoine BeaupréNov 2, 2017
  46. Thomas AdamNov 4, 2017
  47. Eric SunshineNov 2, 2017
  48. 6/7 remote-mediawiki: process namespaces in orderAntoine Beaupré, Nov 2, 2017
  49. Eric SunshineNov 2, 2017
  50. 0/7 remote-mediawiki: namespace supportAntoine Beaupré, Nov 6, 2017
  51. 1/7 remote-mediawiki: add namespace supportAntoine Beaupré, Nov 6, 2017
  52. 3/7 remote-mediawiki: show known namespace choices on failureAntoine Beaupré, Nov 6, 2017
  53. Thomas AdamNov 7, 2017
  54. Antoine BeaupréNov 7, 2017
  55. 7/7 remote-mediawiki: show progress while fetching namespacesAntoine Beaupré, Nov 6, 2017
  56. 5/7 remote-mediawiki: support fetching from (Main) namespaceAntoine Beaupré, Nov 6, 2017
  57. 6/7 remote-mediawiki: process namespaces in orderAntoine Beaupré, Nov 6, 2017
  58. 4/7 remote-mediawiki: skip virtual namespacesAntoine Beaupré, Nov 6, 2017
  59. 2/7 remote-mediawiki: allow fetching namespaces with spacesAntoine Beaupré, Nov 6, 2017
  60. Thomas AdamNov 7, 2017
  61. Antoine BeaupréNov 7, 2017
  62. 0/7 namespace supportAntoine Beaupré, Nov 7, 2017
  63. 1/7 remote-mediawiki: add namespace supportAntoine Beaupré, Nov 7, 2017
  64. 3/7 remote-mediawiki: show known namespace choices on failureAntoine Beaupré, Nov 7, 2017
  65. 5/7 remote-mediawiki: support fetching from (Main) namespaceAntoine Beaupré, Nov 7, 2017
  66. 6/7 remote-mediawiki: process namespaces in orderAntoine Beaupré, Nov 7, 2017
  67. 4/7 remote-mediawiki: skip virtual namespacesAntoine Beaupré, Nov 7, 2017
  68. 7/7 remote-mediawiki: show progress while fetching namespacesAntoine Beaupré, Nov 7, 2017
  69. 2/7 remote-mediawiki: allow fetching namespaces with spacesAntoine Beaupré, Nov 7, 2017
  70. Junio C HamanoNov 8, 2017
  71. Matthieu MoyOct 30, 2017
  72. 3/4 remote-mediawiki: show known namespace choices on failureAntoine Beaupré, Oct 29, 2017
  73. Eric SunshineOct 29, 2017
  74. Antoine BeaupréOct 29, 2017
  75. Thomas AdamNov 4, 2017
  76. 2/4 remote-mediawiki: allow fetching namespaces with spacesAntoine Beaupré, Oct 29, 2017
  77. Matthieu MoyOct 30, 2017
  78. Antoine BeaupréOct 30, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.