diff options
| author | Andrew Stitcher <astitcher@apache.org> | 2011-08-12 22:32:57 +0000 |
|---|---|---|
| committer | Andrew Stitcher <astitcher@apache.org> | 2011-08-12 22:32:57 +0000 |
| commit | bad5fe3bc9985931439f38807e066776dbf6b0c2 (patch) | |
| tree | 2aded7cc970609b19ecb14dd36adca232e5dba34 | |
| parent | a700c39a1c080c55c3599a6df1dc75208c730999 (diff) | |
| download | qpid-python-bad5fe3bc9985931439f38807e066776dbf6b0c2.tar.gz | |
QPID-3409: Fixup federation tools to allow IPv6 literals as part of the address in broker URLs
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1157278 13f79535-47bb-0310-9956-ffa450edef68
| -rw-r--r-- | qpid/extras/qmf/src/py/qmf/console.py | 24 | ||||
| -rwxr-xr-x | qpid/tools/src/py/qpid-route | 6 |
2 files changed, 17 insertions, 13 deletions
diff --git a/qpid/extras/qmf/src/py/qmf/console.py b/qpid/extras/qmf/src/py/qmf/console.py index 291b9bcc5f..a3d17b9af1 100644 --- a/qpid/extras/qmf/src/py/qmf/console.py +++ b/qpid/extras/qmf/src/py/qmf/console.py @@ -107,8 +107,8 @@ class Console: # BrokerURL #=================================================================================================== class BrokerURL(URL): - def __init__(self, text): - URL.__init__(self, text) + def __init__(self, *args, **kwargs): + URL.__init__(self, *args, **kwargs) if self.port is None: if self.scheme == URL.AMQPS: self.port = 5671 @@ -122,7 +122,7 @@ class BrokerURL(URL): self.authPass = str(self.password) def name(self): - return self.host + ":" + str(self.port) + return str(self) def match(self, host, port): return socket.getaddrinfo(self.host, self.port)[0][4] == socket.getaddrinfo(host, port)[0][4] @@ -645,7 +645,10 @@ class Session: Will raise an exception if the session is not managing the connection and the connection setup to the broker fails. """ - url = BrokerURL(target) + if isinstance(target, BrokerURL): + url = target + else: + url = BrokerURL(target) broker = Broker(self, url.host, url.port, mechanisms, url.authName, url.authPass, ssl = url.scheme == URL.AMQPS, connTimeout=timeout) @@ -2346,18 +2349,19 @@ class Broker(Thread): def getUrl(self): """ """ - return "%s:%d" % (self.host, self.port) + return BrokerURL(host=self.host, port=self.port) def getFullUrl(self, noAuthIfGuestDefault=True): """ """ - ssl = "" if self.ssl: - ssl = "s" - auth = "%s/%s@" % (self.authUser, self.authPass) + scheme = "amqps" + else: + scheme = "amqp" if self.authUser == "" or \ (noAuthIfGuestDefault and self.authUser == "guest" and self.authPass == "guest"): - auth = "" - return "amqp%s://%s%s:%d" % (ssl, auth, self.host, self.port or 5672) + return BrokerURL(scheme=scheme, host=self.host, port=(self.port or 5672)) + else: + return BrokerURL(scheme=scheme, user=self.authUser, password=self.authPass, host=self.host, port=(self.port or 5672)) def __repr__(self): if self.connected: diff --git a/qpid/tools/src/py/qpid-route b/qpid/tools/src/py/qpid-route index d98cefd618..f90416d7b0 100755 --- a/qpid/tools/src/py/qpid-route +++ b/qpid/tools/src/py/qpid-route @@ -217,11 +217,11 @@ class RouteManager: added = False links = self.qmf.getObjects(_class="link") for link in links: - url = BrokerURL("%s:%d" % (link.host, link.port)) + url = BrokerURL(host=link.host, port=link.port) if url.name() not in self.brokerList: print " %s..." % url.name(), try: - b = self.qmf.addBroker("%s:%d" % (link.host, link.port), config._connTimeout) + b = self.qmf.addBroker(url, config._connTimeout) self.brokerList[url.name()] = b added = True print "Ok" @@ -245,7 +245,7 @@ class RouteManager: for bridge in bridges: if bridge.src == ex: link = bridge._linkRef_ - fromUrl = "%s:%s" % (link.host, link.port) + fromUrl = BrokerURL(host=link.host, port=link.port) toUrl = bridge.getBroker().getUrl() found = False for pair in pairs: |
