def connect_ftp()

in container-filetransfer/cloud-transfer.py [0:0]


def connect_ftp(url):
    """
    Connects to an FTP server, defaulting to anonymous auth if no credentials
    are provided.
    """
    components = urlparse(url)

    # Initialize connection
    session = ftplib.FTP_TLS() if components.scheme == 'ftps' else ftplib.FTP()
    session.connect(components.hostname, components.port or 21)

    # Login, anonymously if required
    if components.username:
        session.login(components.username, components.password)
    else:
        session.login()

    # Setup secure data connection if necessary
    if isinstance(session, ftplib.FTP_TLS):
        session.prot_p()

    return session