diff --git a/lib/python/labcomm/LabComm.py b/lib/python/labcomm/LabComm.py index a6ede79f1249b869396fb9496c51c62edb2027e1..b13792554fa54040783c4f7ba80aaa5e785376b9 100644 --- a/lib/python/labcomm/LabComm.py +++ b/lib/python/labcomm/LabComm.py @@ -468,34 +468,19 @@ TYPEDEF = typedef(None, None) ARRAY = array(None, None) STRUCT = struct({}) -class anonymous_object(object): - def __init__(self): - self._attr = {} - +class anonymous_object(dict): def __setattr__(self, name, value): if name.startswith("_"): super(anonymous_object, self).__setattr__(name, value) else: - self._attr[name] = value + self[name] = value def __getattr__(self, name): if name.startswith("_"): return super(anonymous_object, self).__getattr__(name) else: - return self._attr[name] - - def __getattribute__(self, name): - if name.startswith("_"): - return super(anonymous_object, self).__getattribute__(name) - else: - return self._attr[name] - - def __iter__(self): - return self._attr.iteritems() + return self[name] - def __repr__(self): - return self._attr.__repr__() - class Codec(object): def __init__(self): self.type_to_name = {}