Last modified: 2012-07-24 15:43:25 UTC
When listing categories via API (such as the Pywikipediabot does), the query-continue acfrom output is not correct (changed in case) when the next category starts with "EN:" Please check the following URL: https://es.wiktionary.org/w/api.php?action=query&list=allcategories&format=xml&acfrom=EN&aclimit=10 I'm asking for categories starting at EN, but acfrom returned is: <query-continue> <allcategories acfrom="en:Adjectivos" /> </query-continue> As you can see, the capital "EN" became a lower case "en". The correct result would be "EN:Adjectivos". This will cause a "jump" in the categories iteration, skipping results from "EN:" to "en:". As far as I can tell, this seems to happen only for categories starting with "EN:", and not "DE:" or "BG:", for example. Thanks.
Cause: The API module calls ->keyToTitle( 'EN:Adjectivos' ) and Title::newFromDBKey( 'EN:Adjectivos' ) reads it as an interwiki link, so the interwiki prefix is normalized when output back. Maybe we want to fix keyToTitle to use Title::makeTitle? The titleToKey function may need fixing too.
(In reply to comment #0) > As far as I can tell, this seems to happen only for categories starting with > "EN:", and not "DE:" or "BG:", for example. DE is broken too: https://es.wiktionary.org/w/api.php?action=query&list=allcategories&format=xml&acfrom=DE&aclimit=60
That is the same problem like bug 25702, bug 36400, bug 36987 and maybe more. The continue param needs not keyToTitle and titleToKey conversion.
(In reply to comment #3) > That is the same problem like bug 25702, bug 36400, bug 36987 and maybe more. > The continue param needs not keyToTitle and titleToKey conversion. Dupe most of them then.
Should be fixed by Gerrit change #8407