summaryrefslogtreecommitdiff
path: root/python/qpid/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/qpid/__init__.py')
-rw-r--r--python/qpid/__init__.py19
1 files changed, 17 insertions, 2 deletions
diff --git a/python/qpid/__init__.py b/python/qpid/__init__.py
index 4aeccae38e..3f6d82b89e 100644
--- a/python/qpid/__init__.py
+++ b/python/qpid/__init__.py
@@ -31,13 +31,28 @@ class Struct:
raise AttributeError(attr)
return field
- def __setattr__(self, attr, value):
+ def has(self, name):
+ return self.type.fields.byname.has_key(name)
+
+ def set(self, attr, value):
self._check(attr)
self._values[attr] = value
- def __getattr__(self, attr):
+ def get(self, attr):
field = self._check(attr)
return self._values.get(attr, field.default())
+ def __setattr__(self, attr, value):
+ self.set(attr, value)
+
+ def __getattr__(self, attr):
+ return self.get(attr)
+
+ def __setitem__(self, attr, value):
+ self.set(attr, value)
+
+ def __getitem__(self, attr):
+ return self.get(attr)
+
def __str__(self):
return "%s %s" % (self.type.type, self._values)