socket.error doesn't behave like a tuple in Python 3, but we can use error.args on both Python 2.7 and 3.
Signed-off-by: Eduardo Habkost <ehabk...@redhat.com> --- scripts/qmp/qmp.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/qmp/qmp.py b/scripts/qmp/qmp.py index 078ce65f3b..e9cb6b2683 100644 --- a/scripts/qmp/qmp.py +++ b/scripts/qmp/qmp.py @@ -108,7 +108,7 @@ class QEMUMonitorProtocol(object): try: self.__json_read() except socket.error as err: - if err[0] == errno.EAGAIN: + if err.args[0] == errno.EAGAIN: # No data available pass self.__sock.setblocking(1) @@ -168,9 +168,9 @@ class QEMUMonitorProtocol(object): try: self.__sock.sendall(json.dumps(qmp_cmd).encode('utf-8')) except socket.error as err: - if err[0] == errno.EPIPE: + if err.args[0] == errno.EPIPE: return - raise socket.error(err) + raise resp = self.__json_read() self.logger.debug("<<< %s", resp) return resp -- 2.14.3