Переглянути джерело

find_app: prefer app named "app"

Ask Solem 11 роки тому
батько
коміт
7e824d62e3
1 змінених файлів з 15 додано та 11 видалено
  1. 15 11
      celery/bin/base.py

+ 15 - 11
celery/bin/base.py

@@ -452,18 +452,22 @@ class Command(object):
             sym = import_from_cwd(app)
             sym = import_from_cwd(app)
         if isinstance(sym, ModuleType):
         if isinstance(sym, ModuleType):
             try:
             try:
-                return sym.celery
+                return sym.app
             except AttributeError:
             except AttributeError:
-                if getattr(sym, '__path__', None):
-                    try:
-                        return self.find_app('{0}.celery:'.format(
-                                             app.replace(':', '')))
-                    except ImportError:
-                        pass
-                for suspect in values(vars(sym)):
-                    if isinstance(suspect, Celery):
-                        return suspect
-                raise
+                try:
+                    return sym.celery
+                except AttributeError:
+                    if getattr(sym, '__path__', None):
+                        try:
+                            return self.find_app(
+                                '{0}.celery:'.format(app.replace(':', '')),
+                            )
+                        except ImportError:
+                            pass
+                    for suspect in values(vars(sym)):
+                        if isinstance(suspect, Celery):
+                            return suspect
+                    raise
         return sym
         return sym
 
 
     def symbol_by_name(self, name):
     def symbol_by_name(self, name):