On 24 October 2011 19:34, Morten Wang <nettrom@gmail.com> wrote:
I'm running into a problem with article titles that include ":", e.g. "Nomad: From Islam to America" (which exists on English Wikipedia: http://en.wikipedia.org/wiki/Nomad:_From_Islam_to_America ).  

Is there a simple and straightforward way to do this?
There should be, but there isn't. imo Page('en', ':Nomad: From Islam to America') should just work (but it doesn't). Even this fails:

>>> catlib.Category('en', 'Books by Ayaan Hirsi Ali').articlesList()
Getting [[Category:Books by Ayaan Hirsi Ali]]...
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "catlib.py", line 431, in articlesList
    for article in self.articles(recurse, sortby=sortby, sortdir=sortdir):
  File "catlib.py", line 416, in articles
    sortby=sortby, sortdir=sortdir):
  File "catlib.py", line 169, in _getContentsNaive
    sortby=sortby, sortdir=sortdir):
  File "catlib.py", line 239, in _parseCategory
    yield ARTICLE, wikipedia.Page(self.site(), memb['title'], defaultNamespace=memb['ns'])
  File "wikipedia.py", line 374, in __init__
    % (title, self._site, familyName))
pywikibot.exceptions.NoPage: Nomad: From Islam to America is not a local page on wikipedia:en, and the nomad family is
not supported by PyWikipediaBot!

So: I added a bug report for you: https://sourceforge.net/tracker/?func=detail&aid=3427930&group_id=93107&atid=603138