(address, error)
Convert a socket.error to ConnectionFailure and raise it.
Convert a socket.error to ConnectionFailure and raise it.
Convert a socket . error to ConnectionFailure and raise it .
def _raise_connection_failure(address, error):
    """Convert a socket.error to ConnectionFailure and raise it."""
    host, port = address
    # If connecting to a Unix socket, port will be None.
    if port is not None:
        msg = '%s:%d: %s' % (host, port, error)
    else:
        msg = '%s: %s' % (host, error)
    if isinstance(error, socket.timeout):
        raise NetworkTimeout(msg)
    elif isinstance(error, SSLError) and 'timed out' in str(error):
        # CPython 2.6, 2.7, PyPy 2.x, and PyPy3 do not distinguish network
        # timeouts from other SSLErrors (https://bugs.python.org/issue10272).
        # Luckily, we can work around this limitation because the phrase
        # 'timed out' appears in all the timeout related SSLErrors raised
        # on the above platforms. CPython >= 3.2 and PyPy3.3 correctly raise
        # socket.timeout.
        raise NetworkTimeout(msg)
    else:
        raise AutoReconnect(msg)
def _raise_connection_failure ( address , error ) : host , port = address # If connecting to a Unix socket, port will be None. if port is not None : msg = '%s:%d: %s' % ( host , port , error ) else : msg = '%s: %s' % ( host , error ) if isinstance ( error , socket . timeout ) : raise NetworkTimeout ( msg ) elif isinstance ( error , SSLError ) and 'timed out' in str ( error ) : # CPython 2.6, 2.7, PyPy 2.x, and PyPy3 do not distinguish network # timeouts from other SSLErrors (https://bugs.python.org/issue10272). # Luckily, we can work around this limitation because the phrase # 'timed out' appears in all the timeout related SSLErrors raised # on the above platforms. CPython >= 3.2 and PyPy3.3 correctly raise # socket.timeout. raise NetworkTimeout ( msg ) else : raise AutoReconnect ( msg )