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