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

Reply via email to