Sfoglia il codice sorgente

TaskRegistry doesn't have to be UserDict

Ask Solem 14 anni fa
parent
commit
440b46bd9a
2 ha cambiato i file con 7 aggiunte e 11 eliminazioni
  1. 5 9
      celery/registry.py
  2. 2 2
      celery/tests/test_task/test_registry.py

+ 5 - 9
celery/registry.py

@@ -4,16 +4,12 @@ from __future__ import absolute_import
 import inspect
 
 from celery.exceptions import NotRegistered
-from celery.utils.compat import UserDict
 
 
-class TaskRegistry(UserDict):
+class TaskRegistry(dict):
 
     NotRegistered = NotRegistered
 
-    def __init__(self):
-        self.data = {}
-
     def regular(self):
         """Get all regular task types."""
         return self.filter_types("regular")
@@ -50,18 +46,18 @@ class TaskRegistry(UserDict):
 
     def filter_types(self, type):
         """Return all tasks of a specific type."""
-        return dict((task_name, task) for task_name, task in self.data.items()
-                                        if task.type == type)
+        return dict((name, task) for name, task in self.data.iteritems()
+                                    if task.type == type)
 
     def __getitem__(self, key):
         try:
-            return UserDict.__getitem__(self, key)
+            return dict.__getitem__(self, key)
         except KeyError:
             raise self.NotRegistered(key)
 
     def pop(self, key, *args):
         try:
-            return UserDict.pop(self, key, *args)
+            return dict.pop(self, key, *args)
         except KeyError:
             raise self.NotRegistered(key)
 

+ 2 - 2
celery/tests/test_task/test_registry.py

@@ -33,8 +33,8 @@ class TestTaskRegistry(unittest.TestCase):
 
     def test_task_registry(self):
         r = registry.TaskRegistry()
-        self.assertIsInstance(r.data, dict,
-                "TaskRegistry has composited dict")
+        self.assertIsInstance(r dict,
+                "TaskRegistry is mapping")
 
         self.assertRegisterUnregisterCls(r, TestTask)
         self.assertRegisterUnregisterCls(r, TestPeriodicTask)