def update(self, other):
for k, v in six.iteritems(other):
try:
oldv = self[k]
except KeyError:
if isinstance(v, dict):
node = Node()
node.update(v)
self[k] = node
else:
self[k] = v
else:
if isinstance(oldv, dict):
if not isinstance(v, dict):
raise ValueError("Can't update uncoherent values for key %s, old value: %r, new value: %r" % (k, oldv, v))
oldv.update(v)
else:
if isinstance(v, dict):
raise ValueError("Can't update uncoherent values for key %s, old value: %r, new value: %r" % (k, oldv, v))
self[k] = v
评论列表
文章目录