فهرست منبع

Makes qualname work when module already in name

Ask Solem 12 سال پیش
والد
کامیت
2aadc3a3be
1فایلهای تغییر یافته به همراه5 افزوده شده و 4 حذف شده
  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