Xqt added a comment.
I could break down it to to __repr__() method of pywikibot.Page which is used
by pprint.pformat for a 'title' contend of Request._params which contains a
list for Page objects. I figured out the following problem:
>>> import pwb, pywikibot as py
>>> s = py.Site()
>>> p = py.Page(s, u'BD:Jón')
>>> py.output(p)
[[de:Benutzer Diskussion:Jón]]
>>> py.output("API Error: %s" %p)
API Error: [[de:Benutzer Diskussion:Jón]]
>>> py.output(u"API Error: %s" %p)
API Error: [[de:Benutzer Diskussion:Jón]]
>>> repr(p)
'Page(Benutzer Diskussion:J\xa2n)'
>>> print repr(p)
Page(Benutzer Diskussion:J¢n)
>>> print "API Error " + repr(p)
API Error Page(Benutzer Diskussion:J¢n)
>>> print u"API Error " + repr(p)
Traceback (most recent call last):
File "<pyshell#200>", line 1, in <module>
print u"API Error " + repr(p)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xa2 in position 26:
ordinal not in range(128)
>>> py.output("API Error: %s" %repr(p))
API Error: Page(Benutzer Diskussion:J¢n)
>>> py.output(u"API Error: %s" %repr(p))
Traceback (most recent call last):
File "<pyshell#196>", line 1, in <module>
py.output(u"API Error: %s" %repr(p))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xa2 in position 26:
ordinal not in range(128)
>>>
The page title "Jón" looks strange for me as well as "J¢n" which I see at
python IDLE. The repr title too. __repr()__ is failing when combined with
unicode.
TASK DETAIL
https://phabricator.wikimedia.org/T103253
EMAIL PREFERENCES
https://phabricator.wikimedia.org/settings/panel/emailpreferences/
To: Xqt
Cc: Aklapper, Xqt, pywikibot-bugs-list, jayvdb, Malyacko, P.Copp
_______________________________________________
pywikibot-bugs mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikibot-bugs