summaryrefslogtreecommitdiff
path: root/python/qpid/__init__.py
diff options
context:
space:
mode:
authorRafael H. Schloming <rhs@apache.org>2007-10-14 02:21:59 +0000
committerRafael H. Schloming <rhs@apache.org>2007-10-14 02:21:59 +0000
commit9637c6b5095e9fadc895288508888c4c54c8de91 (patch)
tree6fade7cb8a21adb3d55c8d4f467941d0927d635d /python/qpid/__init__.py
parent92e0c21cfbe396079abac9ae7e884d86371170bb (diff)
downloadqpid-python-9637c6b5095e9fadc895288508888c4c54c8de91.tar.gz
Enabled packed struct encoding in python, cpp, and java. Also fixed computation of required byte credit in Message.cpp.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@584474 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'python/qpid/__init__.py')
-rw-r--r--python/qpid/__init__.py23
1 files changed, 20 insertions, 3 deletions
diff --git a/python/qpid/__init__.py b/python/qpid/__init__.py
index 3f6d82b89e..7afebaf73b 100644
--- a/python/qpid/__init__.py
+++ b/python/qpid/__init__.py
@@ -31,8 +31,12 @@ class Struct:
raise AttributeError(attr)
return field
- def has(self, name):
- return self.type.fields.byname.has_key(name)
+ def exists(self, attr):
+ return self.type.fields.byname.has_key(attr)
+
+ def has(self, attr):
+ self._check(attr)
+ return self._values.has_key(attr)
def set(self, attr, value):
self._check(attr)
@@ -42,17 +46,30 @@ class Struct:
field = self._check(attr)
return self._values.get(attr, field.default())
+ def clear(self, attr):
+ self._check(attr)
+ del self._values[attr]
+
def __setattr__(self, attr, value):
self.set(attr, value)
def __getattr__(self, attr):
return self.get(attr)
+ def __delattr__(self, attr):
+ self.clear(attr)
+
def __setitem__(self, attr, value):
self.set(attr, value)
def __getitem__(self, attr):
return self.get(attr)
+ def __delitem__(self, attr):
+ self.clear(attr)
+
def __str__(self):
- return "%s %s" % (self.type.type, self._values)
+ return "%s %s" % (self.type, self._values)
+
+ def __repr__(self):
+ return str(self)