From: Ben Darnell Date: Thu, 13 Jun 2024 18:06:26 +0000 (-0400) Subject: *: Use OSError instead of its aliases X-Git-Tag: v6.5.0b1~47^2~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e98b09f1e52677b3ae04ad2314767ad1bfdc1ceb;p=thirdparty%2Ftornado.git *: Use OSError instead of its aliases Various errors were merged into OSError in Python 3.4. Automated change with modified pyupgrade. --- diff --git a/tornado/iostream.py b/tornado/iostream.py index a8955148..40b4f8d4 100644 --- a/tornado/iostream.py +++ b/tornado/iostream.py @@ -859,7 +859,7 @@ class BaseIOStream: else: buf = bytearray(self.read_chunk_size) bytes_read = self.read_from_fd(buf) - except (socket.error, IOError, OSError) as e: + except OSError as e: # ssl.SSLError is a subclass of socket.error if self._is_connreset(e): # Treat ECONNRESET as a connection close rather than @@ -966,7 +966,7 @@ class BaseIOStream: self._total_write_done_index += num_bytes except BlockingIOError: break - except (socket.error, IOError, OSError) as e: + except OSError as e: if not self._is_connreset(e): # Broken pipe errors are usually caused by connection # reset, and its better to not log EPIPE errors to @@ -1180,7 +1180,7 @@ class IOStream(BaseIOStream): # In non-blocking mode we expect connect() to raise an # exception with EINPROGRESS or EWOULDBLOCK. pass - except socket.error as e: + except OSError as e: # On freebsd, other errors such as ECONNREFUSED may be # returned immediately when attempting to connect to # localhost, so handle them the same way as an error @@ -1271,7 +1271,7 @@ class IOStream(BaseIOStream): def _handle_connect(self) -> None: try: err = self.socket.getsockopt(socket.SOL_SOCKET, socket.SO_ERROR) - except socket.error as e: + except OSError as e: # Hurd doesn't allow SO_ERROR for loopback sockets because all # errors for such sockets are reported synchronously. if errno_from_exception(e) == errno.ENOPROTOOPT: @@ -1305,7 +1305,7 @@ class IOStream(BaseIOStream): self.socket.setsockopt( socket.IPPROTO_TCP, socket.TCP_NODELAY, 1 if value else 0 ) - except socket.error as e: + except OSError as e: # Sometimes setsockopt will fail if the socket is closed # at the wrong time. This can happen with HTTPServer # resetting the value to ``False`` between requests. @@ -1342,7 +1342,7 @@ class SSLIOStream(IOStream): # If the socket is already connected, attempt to start the handshake. try: self.socket.getpeername() - except socket.error: + except OSError: pass else: # Indirectly start the handshake, which will run on the next @@ -1387,7 +1387,7 @@ class SSLIOStream(IOStream): # in Python 3.7, this error is a subclass of SSLError # and will be handled by the previous block instead. return self.close(exc_info=err) - except socket.error as err: + except OSError as err: # Some port scans (e.g. nmap in -sT mode) have been known # to cause do_handshake to raise EBADF and ENOTCONN, so make # those errors quiet as well. @@ -1606,7 +1606,7 @@ class PipeIOStream(BaseIOStream): def read_from_fd(self, buf: Union[bytearray, memoryview]) -> Optional[int]: try: return self._fio.readinto(buf) # type: ignore - except (IOError, OSError) as e: + except OSError as e: if errno_from_exception(e) == errno.EBADF: # If the writing half of a pipe is closed, select will # report it as readable but reads will fail with EBADF. diff --git a/tornado/netutil.py b/tornado/netutil.py index e83afad5..da134c15 100644 --- a/tornado/netutil.py +++ b/tornado/netutil.py @@ -126,14 +126,14 @@ def bind_sockets( continue try: sock = socket.socket(af, socktype, proto) - except socket.error as e: + except OSError as e: if errno_from_exception(e) == errno.EAFNOSUPPORT: continue raise if os.name != "nt": try: sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) - except socket.error as e: + except OSError as e: if errno_from_exception(e) != errno.ENOPROTOOPT: # Hurd doesn't support SO_REUSEADDR. raise @@ -204,7 +204,7 @@ if hasattr(socket, "AF_UNIX"): sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) try: sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) - except socket.error as e: + except OSError as e: if errno_from_exception(e) != errno.ENOPROTOOPT: # Hurd doesn't support SO_REUSEADDR raise diff --git a/tornado/platform/caresresolver.py b/tornado/platform/caresresolver.py index 1ba45c9a..d53cf839 100644 --- a/tornado/platform/caresresolver.py +++ b/tornado/platform/caresresolver.py @@ -73,7 +73,7 @@ class CaresResolver(Resolver): ) result, error = yield fut if error: - raise IOError( + raise OSError( "C-Ares returned error %s: %s while resolving %s" % (error, pycares.errno.strerror(error), host) ) @@ -87,7 +87,7 @@ class CaresResolver(Resolver): else: address_family = socket.AF_UNSPEC if family != socket.AF_UNSPEC and family != address_family: - raise IOError( + raise OSError( "Requested socket family %d but got %d" % (family, address_family) ) addrinfo.append((typing.cast(int, address_family), (address, port))) diff --git a/tornado/tcpclient.py b/tornado/tcpclient.py index 0971ac08..2e4b2848 100644 --- a/tornado/tcpclient.py +++ b/tornado/tcpclient.py @@ -318,13 +318,13 @@ class TCPClient: # If the user requires binding also to a specific IP/port. try: socket_obj.bind((source_ip_bind, source_port_bind)) - except socket.error: + except OSError: socket_obj.close() # Fail loudly if unable to use the IP/port. raise try: stream = IOStream(socket_obj, max_buffer_size=max_buffer_size) - except socket.error as e: + except OSError as e: fu = Future() # type: Future[IOStream] fu.set_exception(e) return stream, fu diff --git a/tornado/tcpserver.py b/tornado/tcpserver.py index 4b84af31..a9ae88de 100644 --- a/tornado/tcpserver.py +++ b/tornado/tcpserver.py @@ -352,7 +352,7 @@ class TCPServer: return connection.close() else: raise - except socket.error as err: + except OSError as err: # If the connection is closed immediately after it is created # (as in a port scan), we can get one of several errors. # wrap_socket makes an internal call to getpeername, diff --git a/tornado/test/tcpserver_test.py b/tornado/test/tcpserver_test.py index c636c858..3c691cff 100644 --- a/tornado/test/tcpserver_test.py +++ b/tornado/test/tcpserver_test.py @@ -93,7 +93,7 @@ class TCPServerTest(AsyncTestCase): def connect(c): try: yield c.connect(server_addr) - except EnvironmentError: + except OSError: pass else: connected_clients.append(c) diff --git a/tornado/test/util.py b/tornado/test/util.py index bcb9bbde..53719ac9 100644 --- a/tornado/test/util.py +++ b/tornado/test/util.py @@ -48,7 +48,7 @@ def _detect_ipv6(): try: sock = socket.socket(socket.AF_INET6) sock.bind(("::1", 0)) - except socket.error: + except OSError: return False finally: if sock is not None: