QPID-5823: (reverting commit r1602820) Python client should create a node with name starting '\#'
diff --git a/qpid/messaging/driver.py b/qpid/messaging/driver.py
index 4ac05d3..aaff7fd 100644
--- a/qpid/messaging/driver.py
+++ b/qpid/messaging/driver.py
@@ -34,7 +34,6 @@
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")
@@ -942,16 +941,6 @@
# 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/qpid/messaging/endpoints.py b/qpid/messaging/endpoints.py
index f149721..e69d7a1 100644
--- a/qpid/messaging/endpoints.py
+++ b/qpid/messaging/endpoints.py
@@ -596,6 +596,7 @@
@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)
@@ -619,6 +620,7 @@
@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)
@@ -764,6 +766,12 @@
finally:
self.connection._remove_session(self)
+def _mangle(addr):
+ if addr and addr.startswith("#"):
+ return str(uuid4()) + addr
+ else:
+ return addr
+
class Sender(Endpoint):
"""