diff --git a/utils.py b/utils.py index c855b2da3..fff238a31 100644 --- a/utils.py +++ b/utils.py @@ -18,5 +18,15 @@ def update(self, val, n=1): class dotdict(dict): - def __getattr__(self, name): - return self[name] + """dot.notation access to dictionary attributes""" + __getattr__ = dict.get + __setattr__ = dict.__setitem__ + __delattr__ = dict.__delitem__ + + def __getstate__(self): + # We are being pickled! + return self.__dict__ + + def __setstate__(self, state): + # Unpickling! + self.__dict__ = state