summaryrefslogtreecommitdiff
path: root/python/qpid/session.py
diff options
context:
space:
mode:
authorRafael H. Schloming <rhs@apache.org>2008-05-08 20:52:28 +0000
committerRafael H. Schloming <rhs@apache.org>2008-05-08 20:52:28 +0000
commitfd5ba0c75091336020287825a973c88a07dbe5b4 (patch)
tree5a90ff41987b15e85f254a9266d9c933cd505b9e /python/qpid/session.py
parent32613b43c550fec2785299a271b3818db75490c4 (diff)
downloadqpid-python-fd5ba0c75091336020287825a973c88a07dbe5b4.tar.gz
QPID-979: added access to enums through the session so that symbolic constants can be used rather than hard coded ones; also added default loading of the spec
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@654618 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'python/qpid/session.py')
-rw-r--r--python/qpid/session.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/python/qpid/session.py b/python/qpid/session.py
index 11249ca435..f8ac98b96e 100644
--- a/python/qpid/session.py
+++ b/python/qpid/session.py
@@ -112,15 +112,17 @@ class Session(Invoker):
def resolve_method(self, name):
cmd = self.spec.instructions.get(name)
if cmd is not None and cmd.track == self.spec["track.command"].value:
- return cmd
+ return self.METHOD, cmd
else:
# XXX
for st in self.spec.structs.values():
if st.name == name:
- return st
- if self.spec.structs_by_name.has_key(name):
- return self.spec.structs_by_name[name]
- return None
+ return self.METHOD, st
+ if self.spec.structs_by_name.has_key(name):
+ return self.METHOD, self.spec.structs_by_name[name]
+ if self.spec.enums.has_key(name):
+ return self.VALUE, self.spec.enums[name]
+ return self.ERROR, None
def invoke(self, type, args, kwargs):
# XXX