Python 3: replace "im_self" by "__self__"

The Python 3 removed the "im_self" attribute and only supports the
"__self__". This patch replaces "im_self" by "__self__" attribute.

Closes-Bug: #1282514
Change-Id: Ib017fff4b720a5dd7ee27fd01b36a531d9b6ca9c
This commit is contained in:
Shuangtai Tian 2014-02-20 14:43:11 +08:00
parent ca716eab6e
commit 14903b4ca7
1 changed files with 2 additions and 2 deletions

View File

@ -32,9 +32,9 @@ def make_pretty_name(method):
"""Makes a pretty name for a function/method."""
meth_pieces = [method.__name__]
# If its an instance method attempt to tack on the class name
if hasattr(method, 'im_self') and method.im_self is not None:
if hasattr(method, '__self__') and method.__self__ is not None:
try:
meth_pieces.insert(0, method.im_self.__class__.__name__)
meth_pieces.insert(0, method.__self__.__class__.__name__)
except AttributeError:
pass
return ".".join(meth_pieces)