(netloc)
return netloc, user_pass
Parse out and remove the auth information from a netloc.

    Returns: (netloc, (username, password)).
Parse out and remove the auth information from a netloc.
Parse out and remove the auth information from a netloc .
def split_auth_from_netloc(netloc):
    """
    Parse out and remove the auth information from a netloc.

    Returns: (netloc, (username, password)).
    """
    if '@' not in netloc:
        return netloc, (None, None)

    # Split from the right because that's how urllib.parse.urlsplit()
    # behaves if more than one @ is present (which can be checked using
    # the password attribute of urlsplit()'s return value).
    auth, netloc = netloc.rsplit('@', 1)
    if ':' in auth:
        # Split from the left because that's how urllib.parse.urlsplit()
        # behaves if more than one : is present (which again can be checked
        # using the password attribute of the return value)
        user_pass = auth.split(':', 1)
    else:
        user_pass = auth, None

    user_pass = tuple(
        None if x is None else urllib_unquote(x) for x in user_pass
    )

    return netloc, user_pass
def split_auth_from_netloc ( netloc ) : if '@' not in netloc : return netloc , ( None , None ) # Split from the right because that's how urllib.parse.urlsplit() # behaves if more than one @ is present (which can be checked using # the password attribute of urlsplit()'s return value). auth , netloc = netloc . rsplit ( '@' , 1 ) if ':' in auth : # Split from the left because that's how urllib.parse.urlsplit() # behaves if more than one : is present (which again can be checked # using the password attribute of the return value) user_pass = auth . split ( ':' , 1 ) else : user_pass = auth , None user_pass = tuple ( None if x is None else urllib_unquote ( x ) for x in user_pass ) return netloc , user_pass