'Parses a url and returns a hashable config, source path, and destination path'

def get_sftp_config(self, entry):

    parsed = urlparse(entry[u'url'])
    host = parsed.hostname
    username = (parsed.username or None)
    password = (parsed.password or None)
    port = (parsed.port or 22)
    private_key = entry.get(u'private_key')
    private_key_pass = entry.get(u'private_key_pass')
    if (parsed.scheme == u'sftp'):
        config = ConnectionConfig(host, port, username, password, private_key, private_key_pass)
    else:
        log.warning((u'Scheme    does    not    match    SFTP:    %s' % entry[u'url']))
        config = None
    return config
