1import warnings
2
3from python_socks import (
4    ProxyError,
5    ProxyConnectionError,
6    ProxyType
7)
8
9from .connector import ProxyConnector
10
11
12class SocksVer(object):
13    SOCKS4 = 1
14    SOCKS5 = 2
15
16
17def _warn_about_connector():
18    warnings.warn('SocksConnector is deprecated. '
19                  'Use ProxyConnector instead.', DeprecationWarning,
20                  stacklevel=3)
21
22
23class SocksConnector(ProxyConnector):
24    def __init__(self, socks_ver=SocksVer.SOCKS5, **kwargs):
25        _warn_about_connector()  # noqa
26
27        if 'proxy_type' in kwargs:  # from_url
28            super().__init__(**kwargs)
29        else:
30            super().__init__(proxy_type=ProxyType(socks_ver), **kwargs)
31
32    @classmethod
33    def from_url(cls, url, **kwargs):
34        _warn_about_connector()  # noqa
35        return super().from_url(url, **kwargs)
36
37
38SocksError = ProxyError
39SocksConnectionError = ProxyConnectionError
40