[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