소스 검색

Registry now raises NotRegistered again

Ask Solem 13 년 전
부모
커밋
17aeb76b95
1개의 변경된 파일5개의 추가작업 그리고 10개의 파일을 삭제
  1. 5 10
      celery/app/registry.py

+ 5 - 10
celery/app/registry.py

@@ -20,6 +20,9 @@ from celery.exceptions import NotRegistered
 class TaskRegistry(dict):
     NotRegistered = NotRegistered
 
+    def __missing__(self, key):
+        raise self.NotRegistered(key)
+
     def register(self, task):
         """Register a task in the task registry.
 
@@ -40,17 +43,9 @@ class TaskRegistry(dict):
 
         """
         try:
-            # Might be a task class
-            name = name.name
-        except AttributeError:
-            pass
-        self.pop(name)
-
-    def pop(self, key, *args):
-        try:
-            return dict.pop(self, key, *args)
+            self.pop(getattr(name, "name", name))
         except KeyError:
-            raise self.NotRegistered(key)
+            raise self.NotRegistered(name)
 
     # -- these methods are irrelevant now and will be removed in 3.0
     def regular(self):