ソースを参照

[canvas] maybe_signature should not return list (Issue #3043)

Ask Solem 9 年 前
コミット
e27e42972d
2 ファイル変更3 行追加13 行削除
  1. 3 6
      celery/canvas.py
  2. 0 7
      celery/tests/tasks/test_canvas.py

+ 3 - 6
celery/canvas.py

@@ -1041,12 +1041,9 @@ subtask = signature   # XXX compat
 
 def maybe_signature(d, app=None):
     if d is not None:
-        if isinstance(d, dict):
-            if not isinstance(d, abstract.CallableSignature):
-                d = signature(d)
-        elif isinstance(d, list):
-            return [maybe_signature(s, app=app) for s in d]
-
+        if (isinstance(d, dict) and
+                not isinstance(d, abstract.CallableSignature)):
+            d = signature(d)
         if app is not None:
             d._app = app
         return d

+ 0 - 7
celery/tests/tasks/test_canvas.py

@@ -665,13 +665,6 @@ class test_maybe_signature(CanvasCase):
             maybe_signature(dict(self.add.s()), app=self.app), Signature,
         )
 
-    def test_is_list(self):
-        sigs = [dict(self.add.s(2, 2)), dict(self.add.s(4, 4))]
-        sigs = maybe_signature(sigs, app=self.app)
-        for sig in sigs:
-            self.assertIsInstance(sig, Signature)
-            self.assertIs(sig.app, self.app)
-
     def test_when_sig(self):
         s = self.add.s()
         self.assertIs(maybe_signature(s, app=self.app), s)