def __init__(self, iterable): dict.__init__(self, iterable) ContainerBase.__init__(self, iterable) self._value = copy(iterable) file_items(self, iterable) self.val_keys = [] self.val_obj = [] self.nonval_keys = [] self.nonval_obj = [] self._value = {} for key, obj in self.iteritems(): if isinstance(obj, Variable) or isinstance(obj, ContainerBase): self.val_keys.append(key) self.val_obj.append(obj) else: self.nonval_keys.append(key) self.nonval_obj.append(obj) # In case val_obj is only a single array, avert confusion. # Leave this even though it's confusing! self.val_obj.append(None) self.nonval_obj.append(None) self.n_val = len(self.val_keys) self.val_keys = array(self.val_keys, dtype=object) self.val_obj = array(self.val_obj, dtype=object) self.n_nonval = len(self.nonval_keys) self.nonval_keys = array(self.nonval_keys, dtype=object) self.nonval_obj = array(self.nonval_obj, dtype=object) self.DCValue = DCValue(self)