Spaces:
Sleeping
Sleeping
class AttrDict(dict): | |
"""A dictionary with attribute-style access. It maps attribute access to | |
the real dictionary. """ | |
def __init__(self, *args, **kwargs): | |
dict.__init__(self, *args, **kwargs) | |
def __getstate__(self): | |
return self.__dict__.items() | |
def __setstate__(self, items): | |
for key, val in items: | |
self.__dict__[key] = val | |
def __repr__(self): | |
return "%s(%s)" % (self.__class__.__name__, dict.__repr__(self)) | |
def __setitem__(self, key, value): | |
return super(AttrDict, self).__setitem__(key, value) | |
def __getitem__(self, name): | |
if name not in super(AttrDict, self).keys(): | |
return None | |
return super(AttrDict, self).__getitem__(name) | |
def __delitem__(self, name): | |
return super(AttrDict, self).__delitem__(name) | |
__getattr__ = __getitem__ | |
__setattr__ = __setitem__ | |
def copy(self): | |
return AttrDict(self) | |