diff options
author | Ted Ross <tross@apache.org> | 2008-12-03 18:43:16 +0000 |
---|---|---|
committer | Ted Ross <tross@apache.org> | 2008-12-03 18:43:16 +0000 |
commit | ceb2e4419fe081d096bacda9966adc705bf3dc73 (patch) | |
tree | c1cde005ac6972744c7b683bc918bd5b1a43bd17 | |
parent | 778f7637bea8a154cc05579e80b5ac14ed4bd2da (diff) | |
download | qpid-python-ceb2e4419fe081d096bacda9966adc705bf3dc73.tar.gz |
QPID-1512 - Catch only connection-related exceptions in qmf console
connection thread
- Added __hash__ method for UUID in qpid.datatypes
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@723008 13f79535-47bb-0310-9956-ffa450edef68
-rwxr-xr-x | qpid/python/commands/qpid-config | 2 | ||||
-rwxr-xr-x | qpid/python/commands/qpid-route | 2 | ||||
-rw-r--r-- | qpid/python/qmf/console.py | 15 | ||||
-rw-r--r-- | qpid/python/qpid/datatypes.py | 3 |
4 files changed, 16 insertions, 6 deletions
diff --git a/qpid/python/commands/qpid-config b/qpid/python/commands/qpid-config index 6bfa6939f1..beec67c826 100755 --- a/qpid/python/commands/qpid-config +++ b/qpid/python/commands/qpid-config @@ -379,7 +379,7 @@ try: else: Usage () except Exception,e: - print "Failed:", e.args[0] + print "Failed:", e.args sys.exit(1) bm.Disconnect() diff --git a/qpid/python/commands/qpid-route b/qpid/python/commands/qpid-route index 5733c62a27..e0e655683a 100755 --- a/qpid/python/commands/qpid-route +++ b/qpid/python/commands/qpid-route @@ -508,7 +508,7 @@ try: Usage() except Exception,e: - print "Failed:", e.args[0] + print "Failed:", e.args sys.exit(1) rm.disconnect() diff --git a/qpid/python/qmf/console.py b/qpid/python/qmf/console.py index fe329db289..739ccb6b6b 100644 --- a/qpid/python/qmf/console.py +++ b/qpid/python/qmf/console.py @@ -1191,9 +1191,16 @@ class ManagedConnection(Thread): delay = self.DELAY_MIN finally: self.cv.release() - except: + except socket.error: + if delay < self.DELAY_MAX: + delay *= self.DELAY_FACTOR + except SessionDetached: if delay < self.DELAY_MAX: delay *= self.DELAY_FACTOR + except Closed: + if delay < self.DELAY_MAX: + delay *= self.DELAY_FACTOR + try: self.cv.acquire() self.cv.wait(delay) @@ -1332,13 +1339,13 @@ class Broker: except socket.error, e: self.error = "Socket Error %s - %s" % (e[0], e[1]) - raise Exception(self.error) + raise except Closed, e: self.error = "Connect Failed %d - %s" % (e[0], e[1]) - raise Exception(self.error) + raise except ConnectionFailed, e: self.error = "Connect Failed %d - %s" % (e[0], e[1]) - raise Exception(self.error) + raise def _updateAgent(self, obj): bankKey = (obj.brokerBank, obj.agentBank) diff --git a/qpid/python/qpid/datatypes.py b/qpid/python/qpid/datatypes.py index 38fc163dd9..eb1f86b0b0 100644 --- a/qpid/python/qpid/datatypes.py +++ b/qpid/python/qpid/datatypes.py @@ -297,6 +297,9 @@ class UUID: def __repr__(self): return "UUID(%r)" % str(self) + def __hash__(self): + return self.bytes.__hash__() + class timestamp(float): def __new__(cls, obj=None): |