TODO
def __getitem__(self, item):
if isinstance(item, six.string_types):
return self.get_by_name(item)
elif isinstance(item, (list, tuple)):
return [self[it] for it in item]
return self._values[item]
def __setitem__(self, key, value):
if isinstance(key, six.string_types):
self.set_by_name(key, value)
else:
self._set(key, value)
def __getattr__(self, item):
if item == '_name_indexes':
return object.__getattribute__(self, item)
if hasattr(self, '_name_indexes') and item in self._name_indexes:
return self.get_by_name(item)
return object.__getattribute__(self, item)
def __setattr__(self, key, value):
if hasattr(self, '_name_indexes') and key in self._name_indexes:
self.set_by_name(key, value)
else:
object.__setattr__(self, key, value)