summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2008-10-20 15:27:37 +0000
committerGordon Sim <gsim@apache.org>2008-10-20 15:27:37 +0000
commit7aae076e7c8289ea60a69fd54ea93deb4b7fcdfa (patch)
tree16c9816fd1cd0d4231e9c43e6ff5bd84ae4593ff /python
parent40e17612ff0494ccd440a3a0a3789daabcfb3684 (diff)
downloadqpid-python-7aae076e7c8289ea60a69fd54ea93deb4b7fcdfa.tar.gz
Allow transport to be set on qpid-route.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@706320 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'python')
-rwxr-xr-xpython/commands/qpid-route16
-rw-r--r--python/qpid/qmfconsole.py10
2 files changed, 17 insertions, 9 deletions
diff --git a/python/commands/qpid-route b/python/commands/qpid-route
index d7140d5e4b..8a779bb7a3 100755
--- a/python/commands/qpid-route
+++ b/python/commands/qpid-route
@@ -40,6 +40,8 @@ def Usage ():
print " -q [ --quiet ] Quiet output, don't print duplicate warnings"
print " -d [ --durable ] Added configuration shall be durable"
print " -e [ --del-empty-link ] Delete link after deleting last route on the link"
+ print " -t <transport> [ --transport <transport>]"
+ print " Specify transport to use for links, defaults to tcp"
print
print " dest-broker and src-broker are in the form: [username/password@] hostname | ip-address [:<port>]"
print " ex: localhost, 10.1.1.7:10000, broker-host:10000, guest/guest@localhost"
@@ -65,13 +67,13 @@ class RouteManager:
def getLink (self):
links = self.qmf.getObjects(_class="link")
for link in links:
- if "%s:%d" % (link.host, link.port) == self.src.name ():
+ if self.src.match(link.host, link.port):
return link
return None
def AddLink (self, srcBroker):
self.src = qmfconsole.BrokerURL(srcBroker)
- if self.dest.name() == self.src.name():
+ if self.dest.match(self.src.host, self.src.port):
print "Linking broker to itself is not permitted"
sys.exit(1)
@@ -118,7 +120,7 @@ class RouteManager:
def AddRoute (self, srcBroker, exchange, routingKey, tag, excludes):
self.src = qmfconsole.BrokerURL(srcBroker)
- if self.dest.name() == self.src.name():
+ if self.dest.match(self.src.host, self.src.port):
raise Exception("Linking broker to itself is not permitted")
brokers = self.qmf.getObjects(_class="broker")
@@ -241,8 +243,8 @@ def YN(val):
##
try:
- longOpts = ("verbose", "quiet", "durable", "del-empty-link")
- (optlist, cargs) = getopt.gnu_getopt (sys.argv[1:], "vqde", longOpts)
+ longOpts = ("verbose", "quiet", "durable", "del-empty-link", "transport=")
+ (optlist, cargs) = getopt.gnu_getopt (sys.argv[1:], "vqdet:", longOpts)
except:
Usage ()
@@ -255,6 +257,8 @@ for opt in optlist:
_durable = True
if opt[0] == "-e" or opt[0] == "--del-empty-link":
_dellink = True
+ if opt[0] == "-t" or opt[0] == "--transport":
+ _transport = opt[1]
nargs = len (cargs)
if nargs < 2:
@@ -304,7 +308,7 @@ try:
else:
Usage ()
except Exception,e:
- print "Failed:", e.message
+ print "Failed:", e.args[0]
sys.exit(1)
rm.Disconnect ()
diff --git a/python/qpid/qmfconsole.py b/python/qpid/qmfconsole.py
index ed4565dac4..bfa48c7540 100644
--- a/python/qpid/qmfconsole.py
+++ b/python/qpid/qmfconsole.py
@@ -91,7 +91,8 @@ class BrokerURL:
if not match: raise ValueError("'%s' is not a valid broker url" % (text))
user, password, host, port = match.groups()
- self.host = socket.gethostbyname(host)
+ socket.gethostbyname(host)
+ self.host = host
if port: self.port = int(port)
else: self.port = 5672
self.authName = user or "guest"
@@ -101,6 +102,9 @@ class BrokerURL:
def name(self):
return self.host + ":" + str(self.port)
+ def match(self, host, port):
+ return socket.gethostbyname(self.host) == socket.gethostbyname(host) and self.port == port
+
class Session:
"""
An instance of the Session class represents a console session running
@@ -784,8 +788,8 @@ class ObjectId:
self.first = first
self.second = second
- def __cmp__(self, other):
- if other == None:
+ def __cmp__(self, other):
+ if other == None or not isinstance(other, ObjectId) :
return 1
if self.first < other.first:
return -1