From 67fc801e699d8b19031b5b91c30017e6541a61d7 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Mon, 23 Oct 2017 15:46:36 +0200 Subject: [PATCH] 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 --- ospurge/resources/base.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ospurge/resources/base.py b/ospurge/resources/base.py index 12ad801..f6ce70d 100644 --- a/ospurge/resources/base.py +++ b/ospurge/resources/base.py @@ -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