[Pywikipedia-l] Categories with namespace names (e.g.Category:Wikipedia:foo)

Russell Blau russblau at imapmail.org
Tue Jun 14 17:28:07 UTC 2011


Morten Wang wrote:

> Noticed one of my scripts failing because I tried to instantiate a 
> category
> named "Wikipedia:Globalt perspektiv-samtliga" (it's in Swedish Wikipedia,
> here's the actual category:
> http://sv.wikipedia.org/wiki/Kategori:Wikipedia:Globalt_perspektiv-samtliga)
>
> This fails:
>    myCat = pywikibot.Category(mySite, "Wikipedia:Globalt 
> perspektiv-samtliga");
>
> The error is:
>    ValueError: 'Wikipedia:Globalt perspektiv-samtliga' is not in the 
> category namespace!

That should fail; it would equally fail if you tried
    myCat = pywikibot.Category(mySite, "Garbage")
since "Garbage" is not in the Category namespace.  In other words, the fact 
that the category title starts with "Wikipedia:" has nothing to do with it. 
However, this should work:
    myCat = pywikibot.Category(mySite, "Kategori:Wikipedia:Globalt 
perspektiv-samtliga");

> Creating it as a page with namespace set to 14 results in:
>    >>> myPage = pywikibot.Page(mySite, 'Wikipedia:Globalt 
> perspektiv-samtliga', ns=14);
>    >>> print myPage.title();
>    Wikipedia:Globalt perspektiv-samtliga
>    >>> print myPage.namespace();
>    4
>
> The title's namespace overrides the given option, which itsn't what I 
> would
> expect.

That one does seem like a bug.  The namespace number ought to match the 
actual title.  I'll investigate further.

Russ




More information about the Pywikipedia-l mailing list