Last modified: 2014-09-21 00:14:05 UTC
Originally from: http://sourceforge.net/p/pywikipediabot/bugs/1643/ Reported by: xqt Created on: 2013-07-14 14:07:44.612000 Subject: Parsing error for Link instances Original description: I get a parsing error for Link.parse() e.g. for the following statements: >>> import pwb; import pywikibot as wp >>> l = wp.Link(u'w:de:Foo') >>> l Traceback (most recent call last): File "<pyshell#135>", line 1, in <module> l File "pywikibot\page.py", line 2931, in __repr__ return "pywikibot.page.Link(%r, %r)" % (self.title, self.site) File "pywikibot\page.py", line 3101, in title self.parse() File "pywikibot\page.py", line 3007, in parse % self._text) Error: Improperly formatted interwiki link 'w:de:Foo' using wikipedia: instead of w: the Link is wrong: >>> l = wp.Link(u'wikipedia:de:Foo') >>> l pywikibot.page.Link(u'De:Foo', Site("de", "wikipedia")) >>> It works right for wikt: and wiktionary: >>> l = wp.Link(u'wikt:de:Foo') >>> l pywikibot.page.Link(u'Foo', Site("de", "wiktionary")) >>> >>> l = wp.Link(u'wikt:de:Foo') >>> l pywikibot.page.Link(u'Foo', Site("de", "wiktionary")) >>> >>> l = wp.Link(u'wiktionary:de:Foo') >>> l pywikibot.page.Link(u'Foo', Site("de", "wiktionary")) >>>
working for me, still a bug?
@Xqt: if you have set family = 'wikipedia' and mylang = 'de' in your user-config.py, the parser may get confused about interwiki links to the same family.
Anyway either u'w:de:Foo' or u'wikipedia:de:Foo' are valid links and Link.parse() should be able to deal with them
Change 149629 had a related patch set uploaded by John Vandenberg: Add basic tests for Link(), with 34 errors https://gerrit.wikimedia.org/r/149629
Change 149629 merged by jenkins-bot: Add basic tests for Link(), with 20 errors https://gerrit.wikimedia.org/r/149629
Tests in; time for some fixes.