Mercurial > public > mercurial-scm > hg-stable
diff tests/tinyproxy.py @ 48886:b5fe10b3c9f5 stable
py3: don?t subscript socket.error
On Python 2, socket.error was subscriptable. On Python 3, socket.error is an
alias to OSError and is not subscriptable. The except block passes the
exception to self.send_error(). This fails on both Python 2 (if it was
executed) and Python 3, as it expects a string.
Getting the attribute .strerror works on Python 2 and Python 3, and has the
same effect as the previous code on Python 2.
author | Manuel Jacob <me@manueljacob.de> |
---|---|
date | Thu, 02 Jun 2022 04:39:49 +0200 |
parents | 23f5ed6dbcb1 |
children | 127d33e63d1a |
line wrap: on
line diff
--- a/tests/tinyproxy.py Thu Jun 02 02:05:11 2022 +0200 +++ b/tests/tinyproxy.py Thu Jun 02 04:39:49 2022 +0200 @@ -74,12 +74,8 @@ print("\t" "connect to %s:%d" % host_port) try: soc.connect(host_port) - except socket.error as arg: - try: - msg = arg[1] - except (IndexError, TypeError): - msg = arg - self.send_error(404, msg) + except socket.error as e: + self.send_error(404, e.strerror) return 0 return 1