Przeglądaj źródła

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

Ask Solem 12 lat temu
rodzic
commit
cb5eec4f0c
1 zmienionych plików z 3 dodań i 1 usunięć
  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)