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

Re: [PATCH 1/4] remote-mediawiki: add namespace support

From
Antoine Beaupré <anarcat@debian.org>
Date
Oct 29, 2017, 18:29 UTC
Message-ID
<87a809959p.fsf@curie.anarc.at>
In-Reply-To
<CAPig+cSmfJ2Uv21Q4DgJNoy6Ywj7GWPJa6qq0YL9Kar6Q74a_Q@mail.gmail.com>
On 2017-10-29 13:24:03, Eric Sunshine wrote:
Show 6 quoted lines
> On Sun, Oct 29, 2017 at 12:08 PM, Antoine Beaupré <anarcat@debian.org> wrote:
>> From: Kevin <kevin@ki-ai.org>
>>
>> this introduces a new remote.origin.namespaces argument that is a
>
> s/this/This/
ack.
>> space-separated list of namespaces. the list of pages extract is then
>
> s/the/The/
ack.
Show 13 quoted lines
>> taken from all the specified namespaces.
>>
>> Reviewed-by: Antoine Beaupré <anarcat@debian.org>
>> Signed-off-by: Antoine Beaupré <anarcat@debian.org>
>> ---
>> diff --git a/contrib/mw-to-git/git-remote-mediawiki.perl b/contrib/mw-to-git/git-remote-mediawiki.perl
>> @@ -1331,7 +1356,12 @@ sub get_mw_namespace_id {
>>  sub get_mw_namespace_id_for_page {
>>         my $namespace = shift;
>>         if ($namespace =~ /^([^:]*):/) {
>
> This is not a new issue, but why capture if $1 is never referenced in
> the code below?
meh, i dunno.
Show 9 quoted lines
>> -               return get_mw_namespace_id($namespace);
>> +               my ($ns, $id) = split(/:/, $namespace);
>> +               if (Scalar::Util::looks_like_number($id)) {
>> +                       return get_mw_namespace_id($ns);
>
> So, the idea is that if the input has form "something:number", then
> you want to look up "something" as a namespace name. Anything else
> (such as "something:foobar") is not considered a valid page reference.
> Right?
frankly, i have no idea what's going on here.
>> +               } else{
>
> Missing space before open brace.
right.
>> +                       return
>
> Not required, but missing semi-colon.
ok.
Show 33 quoted lines
>> +               }
>>         } else {
>>                 return;
>>         }
>
> The multiple 'return's are a bit messy. Perhaps collapse the entire
> function to something like this:
>
>     sub get_mw_namespace_id_for_page {
>         my $arg = shift;
>         if ($arg =~ /^([^:]+):\d+$/) {
>             return get_mw_namespace_id($1);
>         }
>         return undef;
>     }
>
> Then, you don't need even need Scalar::Util::looks_like_number()
> (unless, I suppose, the incoming number is expected to be something
> other than simple digits).
>
> In fact, it may be that the intent of the original code *was* meant to
> do exactly the same as shown in my example above, but that the person
> who wrote it accidentally typed:
>
>     return get_mw_namespace_id($namespace);
>
> instead of the intended:
>
>     return get_mw_namespace_id($1);
>
> So, a minimal fix would be simply to change $namespace to $1.
> Tightening the regex as I did in my example would be a bonus (though
> probably ought to be a separate patch).

so while i'm happy to just copy-paste your code in there, that's kind of a sensitive area of the code, as it was originally used only in the upload procedure, which I haven't tested at all. so i'm hesitant in just merging that in as is.

i don't understand why or how this even works, to be honest: page names don't necessarily look like numbers, in fact, they generally don't. i don't understand why the patch submitted here even touches that function at all, considering that the function is only used on uploads. I just cargo-culted it from the original issue...

sigh.
a.
-- 
C'est trop facile quand les guerres sont finies
D'aller gueuler que c'était la dernière
Amis bourgeois vous me faites envie
Ne voyez vous pas donc point vos cimetières?
                        - Jaques Brel
Previous: Eric SunshineNext: Eric Sunshine
Message 11 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.