XZise has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/231566

Change subject: [FIX] Page: Use repr-like if it can't be encoded
......................................................................

[FIX] Page: Use repr-like if it can't be encoded

When the title contains characters which can't be encoded it falls back to use
an encoding which works like repr() on a unicode.

Bug: T107428
Change-Id: I25dddac881891291c5a0dbe3f5dd2b1a0beedf0f
---
M pywikibot/page.py
1 file changed, 9 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/pywikibot/core 
refs/changes/66/231566/1

diff --git a/pywikibot/page.py b/pywikibot/page.py
index 5c0ee75..8d4e7d0 100644
--- a/pywikibot/page.py
+++ b/pywikibot/page.py
@@ -57,7 +57,7 @@
     UserRightsError,
 )
 from pywikibot.tools import (
-    PYTHON_VERSION,
+    PYTHON_VERSION, PY2,
     MediaWikiVersion, UnicodeMixin, ComparableMixin, DotReadableDict,
     deprecated, deprecate_arg, deprecated_args, issue_deprecation_warning,
     first_upper, remove_last_args, _NotImplementedWarning,
@@ -280,7 +280,14 @@
 
     def __repr__(self):
         """Return a more complete string representation."""
-        title = self.title().encode(config.console_encoding)
+        try:
+            title = self.title().encode(config.console_encoding)
+        except UnicodeEncodeError:
+            # okay console encoding didn't work then go the old fashioned way
+            if not PY2:
+                title = repr(self.title())
+            else:
+                title = self.title().encode('unicode_literals')
         return str('{0}({1})').format(self.__class__.__name__, title)
 
     def _cmpkey(self):

-- 
To view, visit https://gerrit.wikimedia.org/r/231566
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I25dddac881891291c5a0dbe3f5dd2b1a0beedf0f
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: XZise <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to