def coerce_to_immutabledict(d): if not d: return EMPTY_DICT elif isinstance(d, immutabledict): return d else: return immutabledict(d)
def _immutabledict_reconstructor(*arg): """do the pickle dance""" return immutabledict(*arg)
def _immutabledict_reconstructor(*arg): """do the pickle dance""" return immutabledict(*arg) def coerce_to_immutabledict(d): if not d: return EMPTY_DICT elif isinstance(d, immutabledict): return d else: return immutabledict(d) EMPTY_DICT = immutabledict() class FacadeDict(ImmutableContainer, dict): """A dictionary that is not publicly mutable.""" clear = pop = popitem = setdefault = update = ImmutableContainer._immutable def __new__(cls, *args): new = dict.__new__(cls) return new def copy(self): raise NotImplementedError( "an immutabledict shouldn't need to be copied. use dict(d) " "if you need a mutable dictionary.")