Issues #10017 and #14998: Fix TypeError using pprint on dictionaries with unorderable key.

This commit is contained in:
Florent Xicluna 2012-07-21 11:17:38 +02:00
parent b4bbee25b1
commit d6da90f93d
3 changed files with 17 additions and 1 deletions

View file

@ -86,7 +86,11 @@ class _safe_key:
self.obj = obj
def __lt__(self, other):
rv = self.obj.__lt__(other.obj)
try:
rv = self.obj.__lt__(other.obj)
except TypeError:
rv = NotImplemented
if rv is NotImplemented:
rv = (str(type(self.obj)), id(self.obj)) < \
(str(type(other.obj)), id(other.obj))