Explorar o código

Makes qualname work when module already in name

Ask Solem %!s(int64=12) %!d(string=hai) anos
pai
achega
2aadc3a3be
Modificáronse 1 ficheiros con 5 adicións e 4 borrados
  1. 5 4
      celery/utils/imports.py

+ 5 - 4
celery/utils/imports.py

@@ -29,10 +29,11 @@ if sys.version_info >= (3, 3):  # pragma: no cover
 
     def qualname(obj):
         if not hasattr(obj, '__name__') and hasattr(obj, '__class__'):
-            return qualname(obj.__class__)
-        return '.'.join((obj.__module__,
-                        getattr(obj, '__qualname__', None) or obj.__name__))
-
+            obj = obj.__class__
+        q = getattr(obj, '__qualname__', None)
+        if '.' not in q:
+            q = '.'.join((obj.__module__, q))
+        return q
 else:
 
     def qualname(obj):  # noqa