Python2: Use __name__ rather than __qualname__

The __qualname__ attribute was added in Python 3. Falls back on
__name__ for Python 2 compatibility, when __qualname__ is not
available.

Related-Bug: 1726399
Change-Id: I19d07dc978250e5340327f05ea6ab62ac55489ed
This commit is contained in:
Victor Stinner 2017-10-23 15:46:36 +02:00
parent 90642dd2ec
commit 67fc801e69
1 changed files with 4 additions and 2 deletions

View File

@ -47,8 +47,9 @@ class MatchSignaturesMeta(type):
prev_sig = inspect.signature(prev_dfn)
val_sig = inspect.signature(value)
if prev_sig != val_sig:
value_name = getattr(value, '__qualname__', value.__name__)
logging.warning('Signature mismatch in %s. %s != %s',
value.__qualname__, prev_sig, val_sig)
value_name, prev_sig, val_sig)
class OrderedMeta(type):
@ -63,10 +64,11 @@ class OrderedMeta(type):
continue
if name not in allowed_next_methods:
value_name = getattr(value, '__qualname__', value.__name__)
logging.warning(
"Method %s not defined at the correct location. Methods "
"in class %s must be defined in the following order %r",
value.__qualname__, clsname, ordered_methods
value_name, clsname, ordered_methods
)
continue # pragma: no cover