From 43e9d5fef55316f2ff35802626a96ecb45d21c6d Mon Sep 17 00:00:00 2001 From: Victor Stinner <victor.stinner@enovance.com> Date: Wed, 18 Dec 2013 17:18:55 +0100 Subject: [PATCH] Fix try/except syntax for Python 3 "except (IOError, errors):" fails with a TypeError if errors is a tuple on Python 3, whereas it was accepted in Python 2. Change-Id: I65cfb60af87e76fdf2d37043fb106adbd4586fb9 --- oslo/messaging/_drivers/impl_rabbit.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/oslo/messaging/_drivers/impl_rabbit.py b/oslo/messaging/_drivers/impl_rabbit.py index c0084f92e..2bce245ab 100644 --- a/oslo/messaging/_drivers/impl_rabbit.py +++ b/oslo/messaging/_drivers/impl_rabbit.py @@ -530,7 +530,9 @@ class Connection(object): try: self._connect(params) return - except (IOError, self.connection_errors) as e: + except IOError: + pass + except self.connection_errors: pass except Exception as e: # NOTE(comstud): Unfortunately it's possible for amqplib @@ -571,7 +573,10 @@ class Connection(object): while True: try: return method(*args, **kwargs) - except (self.connection_errors, socket.timeout, IOError) as e: + except self.connection_errors as e: + if error_callback: + error_callback(e) + except (socket.timeout, IOError) as e: if error_callback: error_callback(e) except Exception as e: