diff options
| author | Pavel Moravec <pmoravec@apache.org> | 2014-06-16 08:09:42 +0000 |
|---|---|---|
| committer | Pavel Moravec <pmoravec@apache.org> | 2014-06-16 08:09:42 +0000 |
| commit | 421efafa6afe10dca95784d22d9593285deb8524 (patch) | |
| tree | 3e8bf282ed62c8c7c77b08c419e2313d50b8ca5a /python | |
| parent | 80c035cd28b2e0f643e00877a69ab73b4c81d356 (diff) | |
| download | qpid-python-421efafa6afe10dca95784d22d9593285deb8524.tar.gz | |
QPID-5823: Python client should create a node with name starting '\#'
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1602820 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'python')
| -rw-r--r-- | python/qpid/messaging/driver.py | 11 | ||||
| -rw-r--r-- | python/qpid/messaging/endpoints.py | 8 |
2 files changed, 11 insertions, 8 deletions
diff --git a/python/qpid/messaging/driver.py b/python/qpid/messaging/driver.py index aaff7fd2cb..4ac05d3478 100644 --- a/python/qpid/messaging/driver.py +++ b/python/qpid/messaging/driver.py @@ -34,6 +34,7 @@ from qpid.selector import Selector from qpid.util import URL, default,get_client_properties_with_defaults from qpid.validator import And, Context, List, Map, Types, Values from threading import Condition, Thread +from qpid.datatypes import uuid4 log = getLogger("qpid.messaging") rawlog = getLogger("qpid.messaging.io.raw") @@ -941,6 +942,16 @@ class Engine: # XXX: subject if lnk.options is None: lnk.options = {} + # if address starts with '#', create auxiliary queue with name preceded by uuid + if addr.startswith("#") and 'create' not in lnk.options: + lnk.name = str(uuid4()) + lnk.name + lnk.options['create'] = "always" + if 'node' not in lnk.options: + lnk.options['node'] = {} + if 'x-declare' not in lnk.options['node']: + lnk.options['node']['x-declare'] = {} + lnk.options['node']['x-declare']['auto-delete'] = "True" + lnk.options['node']['x-declare']['exclusive'] = "True" except address.LexError, e: return MalformedAddress(text=str(e)) except address.ParseError, e: diff --git a/python/qpid/messaging/endpoints.py b/python/qpid/messaging/endpoints.py index e69d7a10ae..f1497210ec 100644 --- a/python/qpid/messaging/endpoints.py +++ b/python/qpid/messaging/endpoints.py @@ -596,7 +596,6 @@ class Session(Endpoint): @rtype: Sender @return: a new Sender for the specified target """ - target = _mangle(target) sender = Sender(self, self.next_sender_id, target, options) self.next_sender_id += 1 self.senders.append(sender) @@ -620,7 +619,6 @@ class Session(Endpoint): @rtype: Receiver @return: a new Receiver for the specified source """ - source = _mangle(source) receiver = Receiver(self, self.next_receiver_id, source, options) self.next_receiver_id += 1 self.receivers.append(receiver) @@ -766,12 +764,6 @@ class Session(Endpoint): finally: self.connection._remove_session(self) -def _mangle(addr): - if addr and addr.startswith("#"): - return str(uuid4()) + addr - else: - return addr - class Sender(Endpoint): """ |
