浏览代码

celery.conf.add_defaults now supports adding non-Mapping objects

Ask Solem 12 年之前
父节点
当前提交
cb5eec4f0c
共有 1 个文件被更改,包括 3 次插入1 次删除
  1. 3 1
      celery/datastructures.py

+ 3 - 1
celery/datastructures.py

@@ -11,7 +11,7 @@ from __future__ import absolute_import, print_function, unicode_literals
 import sys
 import sys
 import time
 import time
 
 
-from collections import defaultdict, MutableMapping
+from collections import defaultdict, Mapping, MutableMapping
 from heapq import heapify, heappush, heappop
 from heapq import heapify, heappush, heappop
 from functools import partial
 from functools import partial
 from itertools import chain
 from itertools import chain
@@ -435,6 +435,8 @@ class ConfigurationView(AttributeDictMixin):
                              _order=[changes] + defaults)
                              _order=[changes] + defaults)
 
 
     def add_defaults(self, d):
     def add_defaults(self, d):
+        if not isinstance(d, Mapping):
+            d = DictAttribute(d)
         self.defaults.insert(0, d)
         self.defaults.insert(0, d)
         self._order.insert(1, d)
         self._order.insert(1, d)