Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-aiohttp-socks for openSUSE:Factory checked in at 2023-02-23 18:00:33 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-aiohttp-socks (Old) and /work/SRC/openSUSE:Factory/.python-aiohttp-socks.new.1706 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-aiohttp-socks" Thu Feb 23 18:00:33 2023 rev:6 rq:1067423 version:0.8.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-aiohttp-socks/python-aiohttp-socks.changes 2022-01-28 22:12:38.702845225 +0100 +++ /work/SRC/openSUSE:Factory/.python-aiohttp-socks.new.1706/python-aiohttp-socks.changes 2023-02-23 18:00:34.865271738 +0100 @@ -1,0 +2,6 @@ +Thu Feb 23 14:34:21 UTC 2023 - Dirk Müller <dmuel...@suse.com> + +- update to 0.8.0: + * Added `proxy_ssl` parameter + +------------------------------------------------------------------- Old: ---- aiohttp_socks-0.7.1.tar.gz New: ---- aiohttp_socks-0.8.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-aiohttp-socks.spec ++++++ --- /var/tmp/diff_new_pack.Vt0nJU/_old 2023-02-23 18:00:35.809277329 +0100 +++ /var/tmp/diff_new_pack.Vt0nJU/_new 2023-02-23 18:00:35.813277353 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-aiohttp-socks # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %define skip_python2 1 %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-aiohttp-socks -Version: 0.7.1 +Version: 0.8.0 Release: 0 Summary: SOCKS proxy connector for aiohttp License: Apache-2.0 ++++++ aiohttp_socks-0.7.1.tar.gz -> aiohttp_socks-0.8.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aiohttp_socks-0.7.1/PKG-INFO new/aiohttp_socks-0.8.0/PKG-INFO --- old/aiohttp_socks-0.7.1/PKG-INFO 2021-11-23 16:30:47.000000000 +0100 +++ new/aiohttp_socks-0.8.0/PKG-INFO 2023-02-21 09:16:56.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: aiohttp_socks -Version: 0.7.1 +Version: 0.8.0 Summary: Proxy connector for aiohttp Home-page: https://github.com/romis2012/aiohttp-socks Author: Roman Snegirev @@ -16,10 +16,11 @@ [](https://travis-ci.com/github/romis2012/aiohttp-socks) [](https://coveralls.io/github/romis2012/aiohttp-socks?branch=master) [](https://badge.fury.io/py/aiohttp-socks) +<!-- [](https://pepy.tech/project/aiohttp-socks) - +--> The `aiohttp-socks` package provides a proxy connector for [aiohttp](https://github.com/aio-libs/aiohttp). -Supports SOCKS4(a), SOCKS5, HTTP (tunneling) as well as Proxy chains. +Supports SOCKS4(a), SOCKS5(h), HTTP (tunneling) as well as Proxy chains. It uses [python-socks](https://github.com/romis2012/python-socks) for core proxy functionality. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aiohttp_socks-0.7.1/README.md new/aiohttp_socks-0.8.0/README.md --- old/aiohttp_socks-0.7.1/README.md 2021-01-17 10:06:13.000000000 +0100 +++ new/aiohttp_socks-0.8.0/README.md 2022-01-24 09:58:43.000000000 +0100 @@ -3,10 +3,11 @@ [](https://travis-ci.com/github/romis2012/aiohttp-socks) [](https://coveralls.io/github/romis2012/aiohttp-socks?branch=master) [](https://badge.fury.io/py/aiohttp-socks) +<!-- [](https://pepy.tech/project/aiohttp-socks) - +--> The `aiohttp-socks` package provides a proxy connector for [aiohttp](https://github.com/aio-libs/aiohttp). -Supports SOCKS4(a), SOCKS5, HTTP (tunneling) as well as Proxy chains. +Supports SOCKS4(a), SOCKS5(h), HTTP (tunneling) as well as Proxy chains. It uses [python-socks](https://github.com/romis2012/python-socks) for core proxy functionality. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aiohttp_socks-0.7.1/aiohttp_socks/__init__.py new/aiohttp_socks-0.8.0/aiohttp_socks/__init__.py --- old/aiohttp_socks-0.7.1/aiohttp_socks/__init__.py 2021-11-23 16:22:33.000000000 +0100 +++ new/aiohttp_socks-0.8.0/aiohttp_socks/__init__.py 2023-02-21 08:42:16.000000000 +0100 @@ -1,5 +1,5 @@ __title__ = 'aiohttp-socks' -__version__ = '0.7.1' +__version__ = '0.8.0' from python_socks import ( ProxyError, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aiohttp_socks-0.7.1/aiohttp_socks/connector.py new/aiohttp_socks-0.8.0/aiohttp_socks/connector.py --- old/aiohttp_socks-0.7.1/aiohttp_socks/connector.py 2021-11-23 13:36:14.000000000 +0100 +++ new/aiohttp_socks-0.8.0/aiohttp_socks/connector.py 2023-02-21 08:38:04.000000000 +0100 @@ -1,10 +1,11 @@ import socket +import typing from typing import Iterable +from asyncio import BaseTransport -import attr from aiohttp import TCPConnector from aiohttp.abc import AbstractResolver - +from aiohttp.client_proto import ResponseHandler from python_socks import ProxyType, parse_proxy_url from python_socks.async_.asyncio.v2 import Proxy from python_socks.async_.asyncio.v2 import ProxyChain @@ -12,20 +13,33 @@ class NoResolver(AbstractResolver): async def resolve(self, host, port=0, family=socket.AF_INET): - return [{'hostname': host, - 'host': host, 'port': port, - 'family': family, 'proto': 0, - 'flags': 0}] + return [ + { + 'hostname': host, + 'host': host, + 'port': port, + 'family': family, + 'proto': 0, + 'flags': 0, + } + ] async def close(self): pass # pragma: no cover class ProxyConnector(TCPConnector): - def __init__(self, proxy_type=ProxyType.SOCKS5, - host=None, port=None, - username=None, password=None, - rdns=None, **kwargs): + def __init__( + self, + proxy_type=ProxyType.SOCKS5, + host=None, + port=None, + username=None, + password=None, + rdns=None, + proxy_ssl=None, + **kwargs, + ): kwargs['resolver'] = NoResolver() super().__init__(**kwargs) @@ -35,10 +49,10 @@ self._proxy_username = username self._proxy_password = password self._rdns = rdns + self._proxy_ssl = proxy_ssl # noinspection PyMethodOverriding - async def _wrap_create_connection(self, protocol_factory, - host, port, *, ssl, **kwargs): + async def _wrap_create_connection(self, protocol_factory, host, port, *, ssl, **kwargs): proxy = Proxy.create( proxy_type=self._proxy_type, host=self._proxy_host, @@ -46,7 +60,7 @@ username=self._proxy_username, password=self._proxy_password, rdns=self._rdns, - loop=self._loop, + proxy_ssl=self._proxy_ssl, ) connect_timeout = None @@ -59,14 +73,14 @@ dest_host=host, dest_port=port, dest_ssl=ssl, - timeout=connect_timeout + timeout=connect_timeout, ) - transport = stream.writer.transport - protocol = protocol_factory() + transport: BaseTransport = stream.writer.transport + protocol: ResponseHandler = protocol_factory() transport.set_protocol(protocol) - protocol.transport = transport + protocol.connection_made(transport) return transport, protocol @@ -79,18 +93,17 @@ port=port, username=username, password=password, - **kwargs + **kwargs, ) -@attr.s(frozen=True, slots=True) -class ProxyInfo: - proxy_type = attr.ib(type=ProxyType) - host = attr.ib(type=str) - port = attr.ib(type=int) - username = attr.ib(type=str, default=None) - password = attr.ib(type=str, default=None) - rdns = attr.ib(type=bool, default=None) +class ProxyInfo(typing.NamedTuple): + proxy_type: ProxyType + host: str + port: int + username: typing.Optional[str] = None + password: typing.Optional[str] = None + rdns: typing.Optional[bool] = None class ChainProxyConnector(TCPConnector): @@ -101,8 +114,7 @@ self._proxy_infos = proxy_infos # noinspection PyMethodOverriding - async def _wrap_create_connection(self, protocol_factory, - host, port, *, ssl, **kwargs): + async def _wrap_create_connection(self, protocol_factory, host, port, *, ssl, **kwargs): proxies = [] for info in self._proxy_infos: proxy = Proxy.create( @@ -112,7 +124,6 @@ username=info.username, password=info.password, rdns=info.rdns, - loop=self._loop ) proxies.append(proxy) @@ -128,14 +139,14 @@ dest_host=host, dest_port=port, dest_ssl=ssl, - timeout=connect_timeout + timeout=connect_timeout, ) - transport = stream.writer.transport - protocol = protocol_factory() + transport: BaseTransport = stream.writer.transport + protocol: ResponseHandler = protocol_factory() transport.set_protocol(protocol) - protocol.transport = transport + protocol.connection_made(transport) return transport, protocol @@ -149,7 +160,7 @@ host=host, port=port, username=username, - password=password + password=password, ) infos.append(proxy_info) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aiohttp_socks-0.7.1/aiohttp_socks/utils.py new/aiohttp_socks-0.8.0/aiohttp_socks/utils.py --- old/aiohttp_socks-0.7.1/aiohttp_socks/utils.py 2020-11-30 05:28:14.000000000 +0100 +++ new/aiohttp_socks-0.8.0/aiohttp_socks/utils.py 2022-10-16 08:57:36.000000000 +0200 @@ -1,14 +1,31 @@ import asyncio +import warnings from python_socks import ProxyType, parse_proxy_url from python_socks.async_.asyncio import Proxy -async def open_connection(proxy_url=None, host=None, port=None, *, - proxy_type=ProxyType.SOCKS5, - proxy_host='127.0.0.1', proxy_port=1080, - username=None, password=None, rdns=True, - loop=None, **kwargs): +async def open_connection( + proxy_url=None, + host=None, + port=None, + *, + proxy_type=ProxyType.SOCKS5, + proxy_host='127.0.0.1', + proxy_port=1080, + username=None, + password=None, + rdns=True, + loop=None, + **kwargs, +): + warnings.warn( + 'open_connection is deprecated. ' + 'Use https://github.com/romis2012/python-socks directly instead.', + DeprecationWarning, + stacklevel=2, + ) + if host is None or port is None: raise ValueError('host and port must be specified') # pragma: no cover @@ -16,8 +33,7 @@ loop = asyncio.get_event_loop() if proxy_url is not None: - proxy_type, proxy_host, proxy_port, username, password \ - = parse_proxy_url(proxy_url) + proxy_type, proxy_host, proxy_port, username, password = parse_proxy_url(proxy_url) proxy = Proxy.create( proxy_type=proxy_type, @@ -26,40 +42,48 @@ username=username, password=password, rdns=rdns, - loop=loop + loop=loop, ) sock = await proxy.connect(host, port) # noinspection PyTypeChecker - return await asyncio.open_connection( - host=None, - port=None, - sock=sock, - **kwargs - ) + return await asyncio.open_connection(host=None, port=None, sock=sock, **kwargs) -async def create_connection(proxy_url=None, protocol_factory=None, - host=None, port=None, *, - proxy_type=ProxyType.SOCKS5, - proxy_host='127.0.0.1', proxy_port=1080, - username=None, password=None, rdns=True, - loop=None, **kwargs): +async def create_connection( + proxy_url=None, + protocol_factory=None, + host=None, + port=None, + *, + proxy_type=ProxyType.SOCKS5, + proxy_host='127.0.0.1', + proxy_port=1080, + username=None, + password=None, + rdns=True, + loop=None, + **kwargs, +): + warnings.warn( + 'create_connection is deprecated. ' + 'Use https://github.com/romis2012/python-socks directly instead.', + DeprecationWarning, + stacklevel=2, + ) + if protocol_factory is None: - raise ValueError('protocol_factory ' - 'must be specified') # pragma: no cover + raise ValueError('protocol_factory must be specified') # pragma: no cover if host is None or port is None: - raise ValueError('host and port ' - 'must be specified') # pragma: no cover + raise ValueError('host and port must be specified') # pragma: no cover if loop is None: loop = asyncio.get_event_loop() if proxy_url is not None: - proxy_type, proxy_host, proxy_port, username, password \ - = parse_proxy_url(proxy_url) + proxy_type, proxy_host, proxy_port, username, password = parse_proxy_url(proxy_url) proxy = Proxy.create( proxy_type=proxy_type, @@ -68,15 +92,11 @@ username=username, password=password, rdns=rdns, - loop=loop + loop=loop, ) sock = await proxy.connect(host, port) return await loop.create_connection( - protocol_factory=protocol_factory, - host=None, - port=None, - sock=sock, - **kwargs + protocol_factory=protocol_factory, host=None, port=None, sock=sock, **kwargs ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aiohttp_socks-0.7.1/aiohttp_socks.egg-info/PKG-INFO new/aiohttp_socks-0.8.0/aiohttp_socks.egg-info/PKG-INFO --- old/aiohttp_socks-0.7.1/aiohttp_socks.egg-info/PKG-INFO 2021-11-23 16:30:46.000000000 +0100 +++ new/aiohttp_socks-0.8.0/aiohttp_socks.egg-info/PKG-INFO 2023-02-21 09:16:56.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: aiohttp-socks -Version: 0.7.1 +Version: 0.8.0 Summary: Proxy connector for aiohttp Home-page: https://github.com/romis2012/aiohttp-socks Author: Roman Snegirev @@ -16,10 +16,11 @@ [](https://travis-ci.com/github/romis2012/aiohttp-socks) [](https://coveralls.io/github/romis2012/aiohttp-socks?branch=master) [](https://badge.fury.io/py/aiohttp-socks) +<!-- [](https://pepy.tech/project/aiohttp-socks) - +--> The `aiohttp-socks` package provides a proxy connector for [aiohttp](https://github.com/aio-libs/aiohttp). -Supports SOCKS4(a), SOCKS5, HTTP (tunneling) as well as Proxy chains. +Supports SOCKS4(a), SOCKS5(h), HTTP (tunneling) as well as Proxy chains. It uses [python-socks](https://github.com/romis2012/python-socks) for core proxy functionality. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aiohttp_socks-0.7.1/aiohttp_socks.egg-info/SOURCES.txt new/aiohttp_socks-0.8.0/aiohttp_socks.egg-info/SOURCES.txt --- old/aiohttp_socks-0.7.1/aiohttp_socks.egg-info/SOURCES.txt 2021-11-23 16:30:46.000000000 +0100 +++ new/aiohttp_socks-0.8.0/aiohttp_socks.egg-info/SOURCES.txt 2023-02-21 09:16:56.000000000 +0100 @@ -1,6 +1,7 @@ LICENSE.txt MANIFEST.in README.md +pyproject.toml setup.py aiohttp_socks/__init__.py aiohttp_socks/_deprecated.py diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aiohttp_socks-0.7.1/aiohttp_socks.egg-info/requires.txt new/aiohttp_socks-0.8.0/aiohttp_socks.egg-info/requires.txt --- old/aiohttp_socks-0.7.1/aiohttp_socks.egg-info/requires.txt 2021-11-23 16:30:46.000000000 +0100 +++ new/aiohttp_socks-0.8.0/aiohttp_socks.egg-info/requires.txt 2023-02-21 09:16:56.000000000 +0100 @@ -1,3 +1,2 @@ aiohttp>=2.3.2 -attrs>=19.2.0 python-socks[asyncio]<3.0.0,>=2.0.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aiohttp_socks-0.7.1/pyproject.toml new/aiohttp_socks-0.8.0/pyproject.toml --- old/aiohttp_socks-0.7.1/pyproject.toml 1970-01-01 01:00:00.000000000 +0100 +++ new/aiohttp_socks-0.8.0/pyproject.toml 2022-08-16 14:48:20.000000000 +0200 @@ -0,0 +1,9 @@ +[tool.black] +line-length = 99 +target-version = ['py37', 'py38', 'py39'] +skip-string-normalization = true +preview = true +verbose = true + +[tool.pytest.ini_options] +asyncio_mode = 'strict' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aiohttp_socks-0.7.1/setup.py new/aiohttp_socks-0.8.0/setup.py --- old/aiohttp_socks-0.7.1/setup.py 2021-11-23 16:23:42.000000000 +0100 +++ new/aiohttp_socks-0.8.0/setup.py 2022-10-16 08:23:10.000000000 +0200 @@ -11,11 +11,13 @@ version = None -with codecs.open(os.path.join(os.path.abspath(os.path.dirname( - __file__)), 'aiohttp_socks', '__init__.py'), 'r', 'latin1') as fp: +with codecs.open( + os.path.join(os.path.abspath(os.path.dirname(__file__)), 'aiohttp_socks', '__init__.py'), + 'r', + 'latin1', +) as fp: try: - version = re.findall(r"^__version__ = '([^']+)'\r?$", - fp.read(), re.M)[0] + version = re.findall(r"^__version__ = '([^']+)'\r?$", fp.read(), re.M)[0] except IndexError: raise RuntimeError('Unable to determine version.') @@ -39,7 +41,6 @@ keywords='asyncio aiohttp socks socks5 socks4 http proxy', install_requires=[ 'aiohttp>=2.3.2', - 'attrs>=19.2.0', 'python-socks[asyncio]>=2.0.0,<3.0.0', ], )