aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/Twisted/py3/twisted/conch/client/connect.py
blob: f21f16768bb57b1fa153bcd64073ccf58154eee2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# Copyright (c) Twisted Matrix Laboratories.
# See LICENSE for details.

#
from twisted.conch.client import direct

connectTypes = {"direct": direct.connect}


def connect(host, port, options, verifyHostKey, userAuthObject):
    useConnects = ["direct"]
    return _ebConnect(
        None, useConnects, host, port, options, verifyHostKey, userAuthObject
    )


def _ebConnect(f, useConnects, host, port, options, vhk, uao):
    if not useConnects:
        return f
    connectType = useConnects.pop(0)
    f = connectTypes[connectType]
    d = f(host, port, options, vhk, uao)
    d.addErrback(_ebConnect, useConnects, host, port, options, vhk, uao)
    return d