From e2afee2832d8aa9ff97456f4d8c0134e83973684 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Wed, 18 Oct 2023 22:30:40 +0200 Subject: [PATCH] Sync from SUSE:ALP:Source:Standard:1.0 python-aiohttp revision 78cc1ad64aa88f1b5624fb8a216cf848 --- .gitattributes | 23 + ...query-calls-to-work-with-latest-yarl.patch | 65 ++ aiohttp-3.8.5.tar.gz | 3 + python-aiohttp.changes | 930 ++++++++++++++++++ python-aiohttp.spec | 163 +++ 5 files changed, 1184 insertions(+) create mode 100644 .gitattributes create mode 100644 Update-update_query-calls-to-work-with-latest-yarl.patch create mode 100644 aiohttp-3.8.5.tar.gz create mode 100644 python-aiohttp.changes create mode 100644 python-aiohttp.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fecc750 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/Update-update_query-calls-to-work-with-latest-yarl.patch b/Update-update_query-calls-to-work-with-latest-yarl.patch new file mode 100644 index 0000000..fb90296 --- /dev/null +++ b/Update-update_query-calls-to-work-with-latest-yarl.patch @@ -0,0 +1,65 @@ +From f984bea2a14c11cb5560aa02263126ed5e1d68bc Mon Sep 17 00:00:00 2001 +From: Daniel Garcia Moreno +Date: Wed, 26 Apr 2023 09:27:18 +0200 +Subject: [PATCH] Update update_query calls to work with latest yarl + +This patch pass "{}" when params is "None" to the url.update_query to +avoid setting the url params to None. + +Related to this change in yarl: +https://github.com/aio-libs/yarl/commit/dd86b3435093b9ca251ecb7831346b92a3f16b25 + +Fix https://github.com/aio-libs/aiohttp/issues/7259 +--- + aiohttp/client.py | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +Index: aiohttp-3.8.4/aiohttp/client.py +=================================================================== +--- aiohttp-3.8.4.orig/aiohttp/client.py ++++ aiohttp-3.8.4/aiohttp/client.py +@@ -460,7 +460,7 @@ class ClientSession: + ] + + for trace in traces: +- await trace.send_request_start(method, url.update_query(params), headers) ++ await trace.send_request_start(method, url.update_query(params or {}), headers) + + timer = tm.timer() + try: +@@ -578,7 +578,7 @@ class ClientSession: + + for trace in traces: + await trace.send_request_redirect( +- method, url.update_query(params), headers, resp ++ method, url.update_query(params or {}), headers, resp + ) + + redirects += 1 +@@ -630,7 +630,7 @@ class ClientSession: + headers.pop(hdrs.AUTHORIZATION, None) + + url = parsed_url +- params = None ++ params = {} + resp.release() + continue + +@@ -653,7 +653,7 @@ class ClientSession: + + for trace in traces: + await trace.send_request_end( +- method, url.update_query(params), headers, resp ++ method, url.update_query(params or {}), headers, resp + ) + return resp + +@@ -666,7 +666,7 @@ class ClientSession: + + for trace in traces: + await trace.send_request_exception( +- method, url.update_query(params), headers, e ++ method, url.update_query(params or {}), headers, e + ) + raise + diff --git a/aiohttp-3.8.5.tar.gz b/aiohttp-3.8.5.tar.gz new file mode 100644 index 0000000..ae96376 --- /dev/null +++ b/aiohttp-3.8.5.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9552ec52cc147dbf1944ac7ac98af7602e51ea2dcd076ed194ca3c0d1c7d0bc +size 7358303 diff --git a/python-aiohttp.changes b/python-aiohttp.changes new file mode 100644 index 0000000..091b3b4 --- /dev/null +++ b/python-aiohttp.changes @@ -0,0 +1,930 @@ +------------------------------------------------------------------- +Mon Sep 11 20:43:01 UTC 2023 - Dirk Müller + +- switch from unmaintained brotlipy to Brotli + +------------------------------------------------------------------- +Fri Aug 18 15:42:27 UTC 2023 - Martin Schreiner + +- Remove py3109-compat.patch, no longer required. The current spec + builds successfully on Python 3.9, 3.10 and 3.11. +- Update to 3.8.5: + * Upgraded the vendored copy of llhttp to v8.1.1. + More information here: + https://github.com/aio-libs/aiohttp/security/advisories/GHSA-45c4-8wx5-qw6w + * Added information to C parser exceptions to show which character + caused the error. + * Fixed a transport is None error. + +------------------------------------------------------------------- +Wed Apr 26 07:35:37 UTC 2023 - Daniel Garcia + +- Add Update-update_query-calls-to-work-with-latest-yarl.patch to fix + problems with latest python-yarl +- Delete aiohttp-pr7057-bump-charset-normalizer.patch not needed + anymore +- Update to 3.8.4: + * Fixed incorrectly overwriting cookies with the same name and + domain, but different path. (#6638) + * Fixed ConnectionResetError not being raised after client + disconnection in SSL environments. (#7180) + +------------------------------------------------------------------- +Sun Apr 23 22:42:27 UTC 2023 - Matej Cepl + +- Move documentation into the main package for SLE15 + +------------------------------------------------------------------- +Fri Apr 21 12:21:39 UTC 2023 - Dirk Müller + +- add sle15_python_module_pythons (jsc#PED-68) + +------------------------------------------------------------------- +Thu Apr 13 22:39:50 UTC 2023 - Matej Cepl + +- Make calling of %{sle15modernpython} optional. + +------------------------------------------------------------------- +Thu Mar 16 07:32:13 UTC 2023 - Daniel Garcia + +- Disable DeprecationWarning to avoid error with the latest setuptools + and pkg_resources deprecation + +------------------------------------------------------------------- +Mon Dec 26 21:35:01 UTC 2022 - Ben Greiner + +- Don't assume python3 to be present for d:l:p:backports/15.4_py39 +- Requires pytest 6.2.0 when pytest.TempPathFactory was introduced. + +------------------------------------------------------------------- +Mon Dec 12 16:16:31 UTC 2022 - Daniel Garcia + +- Update py3109-compat.patch to work with python <= 3.10.8 too. + +------------------------------------------------------------------- +Mon Dec 12 11:26:26 UTC 2022 - Daniel Garcia + +- Add py3109-compat.patch to make tests compatible with python 3.10.9. These + tests are not present anymore in upstream master version so this patch could + be removed in future releases. + +------------------------------------------------------------------- +Mon Nov 7 17:49:50 UTC 2022 - Ben Greiner + +- Drop ignore-pytest-deprecationwarning.patch +- Add aiohttp-pr7057-bump-charset-normalizer.patch + * gh#aio-libs/aiohttp#7057 + * Sync requirement with rpm specs + +------------------------------------------------------------------- +Tue Oct 4 20:31:56 UTC 2022 - Dirk Müller + +- skip more tests + +------------------------------------------------------------------- +Sat Sep 24 11:07:58 UTC 2022 - Dirk Müller + +- update to 3.8.3: + * Increased the upper boundary of the :doc:`multidict:index` dependency + to allow for the version 6 -- by :user:`hugovk`. + * Added support for registering :rfc:`OPTIONS <9110#OPTIONS>` + HTTP method handlers via :py:class:`~aiohttp.web.RouteTableDef`. + * Started supporting :rfc:`authority-form <9112#authority-form>` and + :rfc:`absolute-form <9112#absolute-form>` URLs on the server-side. + * Fixed Python 3.11 incompatibilities by using Cython 0.29.25. + * Extended the ``sock`` argument typing declaration of the + :py:func:`~aiohttp.web.run_app` function as optionally + accepting iterables. + * Fixed a regression where :py:exc:`~asyncio.CancelledError` + occurs on client disconnection. + * Started exporting :py:class:`~aiohttp.web.PrefixedSubAppResource` + under :py:mod:`aiohttp.web` -- by :user:`Dreamsorcerer`. + * Dropped the :class:`object` type possibility from + the :py:attr:`aiohttp.ClientSession.timeout` + property return type declaration. + +------------------------------------------------------------------- +Wed May 4 11:35:43 UTC 2022 - John Paul Adrian Glaubitz + +- Update in SLE-15 (bsc#1197831) + +------------------------------------------------------------------- +Sun Mar 27 19:01:09 UTC 2022 - Ben Greiner + +- Add ignore-pytest-deprecationwarning.patch + * gh#aio-libs/aiohttp#6663 + +------------------------------------------------------------------- +Sat Dec 11 19:18:47 UTC 2021 - Ben Greiner + +- Update to version 3.8.1 + * Bugfixes + * Fix the error in handling the return value of getaddrinfo. + getaddrinfo will return an (int, bytes) tuple, if CPython could + not handle the address family. It will cause a index out of + range error in aiohttp. For example, if user compile CPython + with --disable-ipv6 option but his system enable the ipv6. + #5901 + * Do not install "examples" as a top-level package. #6189 + * Restored ability to connect IPv6-only host. #6195 + * Remove Signal from __all__, replace aiohttp.Signal with + aiosignal.Signal in docs #6201 + * Made chunked encoding HTTP header check stricter. #6305 + * Improved Documentation + * update quick starter demo codes. #6240 + * Added an explanation of how tiny timeouts affect performance to + the client reference document. #6274 + * Add flake8-docstrings to flake8 configuration, enable subset of + checks. #6276 + * Added information on running complex applications with + additional tasks/processes -- :user:`Dreamsorcerer`. #6278 +- Release 3.8.0 (2021-10-31) + * Features + * Added a GunicornWebWorker feature for extending the aiohttp + server configuration by allowing the 'wsgi' coroutine to return + web.AppRunner object. #2988 + * Switch from http-parser to llhttp #3561 + * Use Brotli instead of brotlipy #3803 + * Disable implicit switch-back to pure python mode. The build + fails loudly if aiohttp cannot be compiled with C Accelerators. + Use AIOHTTP_NO_EXTENSIONS=1 to explicitly disable C Extensions + complication and switch to Pure-Python mode. Note that + Pure-Python mode is significantly slower than compiled one. + #3828 + * Make access log use local time with timezone #3853 + * Implemented readuntil in StreamResponse #4054 + * FileResponse now supports ETag. #4594 + * Add a request handler type alias aiohttp.typedefs.Handler. + #4686 + * AioHTTPTestCase is more async friendly now. + * For people who use unittest and are used to use + :py:exc:`~unittest.TestCase` it will be easier to write new + test cases like the sync version of the + :py:exc:`~unittest.TestCase` class, without using the decorator + @unittest_run_loop, just async def test_*. The only difference + is that for the people using python3.7 and below a new + dependency is needed, it is asynctestcase. #4700 + * Add validation of HTTP header keys and values to prevent header + injection. #4818 + * Add predicate to AbstractCookieJar.clear. Add + AbstractCookieJar.clear_domain to clean all domain and + subdomains cookies only. #4942 + * Add keepalive_timeout parameter to web.run_app. #5094 + * Tracing for client sent headers #5105 + * Make type hints for http parser stricter #5267 + * Add final declarations for constants. #5275 + * Switch to external frozenlist and aiosignal libraries. #5293 + * Don't send secure cookies by insecure transports. + * By default, the transport is secure if https or wss scheme is + used. Use CookieJar(treat_as_secure_origin="http://127.0.0.1") + to override the default security checker. #5571 + * Always create a new event loop in aiohttp.web.run_app(). This + adds better compatibility with asyncio.run() or if trying to + run multiple apps in sequence. #5572 + * Add aiohttp.pytest_plugin.AiohttpClient for static typing of + pytest plugin. #5585 + * Added a socket_factory argument to BaseTestServer. #5844 + * Add compression strategy parameter to enable_compression + method. #5909 + * Added support for Python 3.10 to Github Actions CI/CD workflows + and fix the related deprecation warnings -- :user:`Hanaasagi`. + #5927 + * Switched chardet to charset-normalizer for guessing the HTTP + payload body encoding -- :user:`Ousret`. #5930 + * Added optional auto_decompress argument for HttpRequestParser + #5957 + * Added support for HTTPS proxies to the extent CPython's + :py:mod:`asyncio` supports it -- by :user:`bmbouter`, + :user:`jborean93` and :user:`webknjaz`. #5992 + * Added base_url parameter to the initializer of + :class:`~aiohttp.ClientSession`. #6013 + * Add Trove classifier and create binary wheels for 3.10. -- + :user:`hugovk`. #6079 + * Started shipping platform-specific wheels with the musl tag + targeting typical Alpine Linux runtimes — :user:`asvetlov`. + #6139 + * Started shipping platform-specific arm64 wheels for Apple + Silicon — :user:`asvetlov`. #6139 + * Bugfixes + * Modify _drain_helper() to handle concurrent await + resp.write(...) or ws.send_json(...) calls without + race-condition. #2934 + * Started using MultiLoopChildWatcher when it's available under + POSIX while setting up the test I/O loop. #3450 + * Only encode content-disposition filename parameter using + percent-encoding. Other parameters are encoded to quoted-string + or RFC2231 extended parameter value. #4012 + * Fixed HTTP client requests to honor no_proxy environment + variables. #4431 + * Fix supporting WebSockets proxies configured via environment + variables. #4648 + * Change return type on URLDispatcher to UrlMappingMatchInfo to + improve type annotations. #4748 + * Ensure a cleanup context is cleaned up even when an exception + occurs during startup. #4799 + * Added a new exception type for Unix socket client errors which + provides a more useful error message. #4984 + * Remove Transfer-Encoding and Content-Type headers for 204 in + StreamResponse #5106 + * Only depend on typing_extensions for Python <3.8 #5107 + * Add ABNORMAL_CLOSURE and BAD_GATEWAY to WSCloseCode #5192 + * Fix cookies disappearing from HTTPExceptions. #5233 + * StaticResource prefixes no longer match URLs with a non-folder + prefix. For example routes.static('/foo', '/foo') no longer + matches the URL /foobar. Previously, this would attempt to load + the file /foo/ar. #5250 + * Acquire the connection before running traces to prevent race + condition. #5259 + * Add missing slots to `_RequestContextManager and + _WSRequestContextManager #5329 + * Ensure sending a zero byte file does not throw an exception + (round 2) #5380 + * Set "text/plain" when data is an empty string in client + requests. #5392 + * Stop automatically releasing the ClientResponse object on calls + to the ok property for the failed requests. #5403 + * Include query parameters from params keyword argument in + tracing URL. #5432 + * Fix annotations #5466 + * Fixed the multipart POST requests processing to always release + file descriptors for the tempfile.Temporaryfile-created + _io.BufferedRandom instances of files sent within multipart + request bodies via HTTP POST requests -- by :user:`webknjaz`. + #5494 + * Fix 0 being incorrectly treated as an immediate timeout. #5527 + * Fixes failing tests when an environment variable _proxy + is set. #5554 + * Replace deprecated app handler design in + tests/autobahn/server.py with call to web.run_app; replace + deprecated aiohttp.ws_connect calls in tests/autobahn/client.py + with aiohttp.ClienSession.ws_connect. #5606 + * Fixed test for HTTPUnauthorized that access the text argument. + This is not used in any part of the code, so it's removed now. + #5657 + * Remove incorrect default from docs #5727 + * Remove external test dependency to http://httpbin.org #5840 + * Don't cancel current task when entering a cancelled timer. + #5853 + * Added params keyword argument to ClientSession.ws_connect. -- + :user:`hoh`. #5868 + * Uses :py:class:`~asyncio.ThreadedChildWatcher` under POSIX to + allow setting up test loop in non-main thread. #5877 + * Fix the error in handling the return value of getaddrinfo. + getaddrinfo will return an (int, bytes) tuple, if CPython could + not handle the address family. It will cause a index out of + range error in aiohttp. For example, if user compile CPython + with --disable-ipv6 option but his system enable the ipv6. + #5901 + * Removed the deprecated loop argument from the + asyncio.sleep/gather calls #5905 + * Return None from request.if_modified_since, + request.if_unmodified_since, request.if_range and + response.last_modified when corresponding http date headers are + invalid. #5925 + * Fix resetting SIGCHLD signals in Gunicorn aiohttp Worker to fix + subprocesses that capture output having an incorrect + returncode. #6130 + * Raise 400: Content-Length can't be present with + Transfer-Encoding if both Content-Length and Transfer-Encoding + are sent by peer by both C and Python implementations #6182 + * Improved Documentation + * Refactored OpenAPI/Swagger aiohttp addons, added aio-openapi + #5326 + * Fixed docs on request cookies type, so it matches what is + actually used in the code (a read-only dictionary-like object). + #5725 + * Documented that the HTTP client Authorization header is removed + on redirects to a different host or protocol. #5850 +- Drop patches + * backport_fix_for_setting_cookies.patch + * remove_deprecated_loop_argument.patch + * stdlib-typing_extensions.patch + * unbundle-http-parser.patch -- replaced by llhttp, nothing else + than the bundled llhttp available. +- Disable building the docs (no sphinxcontrib-towncrier) + +------------------------------------------------------------------- +Wed Nov 24 00:38:26 UTC 2021 - Steve Kowalik + +- Drop python39-failures.patch, no longer required. + +------------------------------------------------------------------- +Wed Nov 17 09:52:49 UTC 2021 - Steve Kowalik + +- Update python39-failures.patch to only fire with Python 3.9.7. + +------------------------------------------------------------------- +Fri Sep 10 14:22:31 UTC 2021 - Matej Cepl + +- Restore python39-failures.patch, which is actually still needed. + +------------------------------------------------------------------- +Thu Sep 9 20:05:44 UTC 2021 - Matej Cepl + +- Remove python39-failures.patch and replace it with actual fix + of the issue in remove_deprecated_loop_argument.patch. +- Add backport_fix_for_setting_cookies.patch for backport of + fixes from 3.8 branch. + +------------------------------------------------------------------- +Wed Sep 8 21:10:23 UTC 2021 - Matej Cepl + +- Add python39-failures.patch to fix test problems with Python 3.9.7+ + (gh#aio-libs/aiohttp#5991). + +------------------------------------------------------------------- +Tue Jun 8 19:15:11 UTC 2021 - Matej Cepl + +- Remove pytest-asyncio dependency which is actually harmful + (gh#aio-libs/aiohttp#5787). + +------------------------------------------------------------------- +Thu May 13 21:58:35 UTC 2021 - Matej Cepl + +- Add stdlib-typing_extensions.patch to avoid necessity for BR + python-typing_extensions (gh#aio-libs/aiohttp#5374). + +------------------------------------------------------------------- +Sun Feb 28 13:09:40 UTC 2021 - Michael Ströder + +- Update to 3.7.4 (bsc#1184745, CVE-2021-21330): + * obsoletes CVE-2021-21330.patch in older dists + * Fixes https://github.com/aio-libs/aiohttp/security/advisories/GHSA-v6wp-4m6f-gcjg + +------------------------------------------------------------------- +Mon Feb 8 10:55:58 UTC 2021 - John Paul Adrian Glaubitz + +- Include in SLE-15 (bsc#1176785, jsc#ECO-3105, jsc#PM-2352) + +------------------------------------------------------------------- +Sun Dec 20 08:22:59 UTC 2020 - John Vandenberg + +- Allow use with chardet v4 + +------------------------------------------------------------------- +Fri Dec 4 11:50:52 UTC 2020 - Benjamin Greiner + +- Update to v3.7.3 + Features + * Made exceptions pickleable. Also changed the repr of + some exceptions. #4077 + Bugfixes + * Raise a ClientResponseError instead of an AssertionError for a + blank HTTP Reason Phrase. #3532 + * Fix web_middlewares.normalize_path_middleware behavior for + patch without slash. #3669 + * Fix overshadowing of overlapped sub-applications prefixes. + #3701 + * Make BaseConnector.close() a coroutine and wait until the + client closes all connections. Drop deprecated "with + Connector():" syntax. #3736 + * Reset the sock_read timeout each time data is received for a + aiohttp.client response. #3808 + * Fixed type annotation for add_view method of UrlDispatcher to + accept any subclass of View #3880 + * Fixed querying the address families from DNS that the current + host supports. #5156 + * Change return type of MultipartReader.__aiter__() and + BodyPartReader.__aiter__() to AsyncIterator. #5163 + * Provide x86 Windows wheels. #5230 + * Improved Documentation + * Add documentation for aiohttp.web.FileResponse. #3958 + * Removed deprecation warning in tracing example docs #3964 + * Fixed wrong "Usage" docstring of aiohttp.client.request. #4603 + * Add aiohttp-pydantic to third party libraries #5228 + Misc + * #4102 +- Also clean header files in sitearch +- Remove hidden .hash directory (remnant from build process) +- Fix python 3.6 build + * For Leap + * For TW with python36 flavor gh#openSUSE/python-rpm-macros#66 + * Always BuildRequire idna_ssl + * Skip a failing test on python 3.6 + * Next upstream release will drop python 3.6 + +------------------------------------------------------------------- +Wed Oct 28 15:33:18 UTC 2020 - John Vandenberg + +- Re-activate tests +- Update to v3.7.2 + * Fixed static files handling for loops without .sendfile() support +- from v3.7.1 + * Fixed a type error caused by the conditional import of Protocol + * Server doesn't send Content-Length for 1xx or 204 + * Fix run_app typing + * Always require typing_extensions library + * Fix a variable-shadowing bug causing ThreadedResolver.resolve + to return the resolved IP as the ``hostname`` in each record, + which prevented validation of HTTPS connections + * Added annotations to all public attributes + * Fix flaky test_when_timeout_smaller_second + * Ensure sending a zero byte file does not throw an exception +- from v3.7.0 + * Response headers are now prepared prior to running + ``on_response_prepare`` hooks, directly before headers are + sent to the client + * Add a ``quote_cookie`` option to ``CookieJar``, a way to skip + quotation wrapping of cookies containing special characters + * Call AccessLogger.log with the current exception available + from sys.exc_info() + * web.UrlDispatcher.add_routes and web.Application.add_routes + return a list of registered AbstractRoute instances. + `AbstractRouteDef.register` (and all subclasses) return a + list of registered resources registered resource + * Added properties of default ClientSession params to + ClientSession class so it is available for introspection + * Don't cancel web handler on peer disconnection, raise + `OSError` on reading/writing instead. + * Implement BaseRequest.get_extra_info() to access a protocol + transports' extra info. + * Added `ClientSession.timeout` property + * Allow use of SameSite in cookies + * Use loop.sendfile() instead of custom implementation if available + * Apply SO_REUSEADDR to test server's socket + * Use .raw_host instead of slower .host in client API + * Allow configuring the buffer size of input stream by passing + ``read_bufsize`` argument + * Add method and url attributes to TraceRequestChunkSentParams + and TraceResponseChunkReceivedParams. + * Add ClientResponse.ok property for checking status code under 400 + * Don't ceil timeouts that are smaller than 5 seconds. + * TCPSite now listens by default on all interfaces instead + of just IPv4 when `None` is passed in as the host + * Bump ``http_parser`` to 2.9.4 + * Fix keepalive connections not being closed in time + * Fix failed websocket handshake leaving connection hanging. + * Fix tasks cancellation order on exit. + The run_app task needs to be cancelled first for cleanup hooks + to run with all tasks intact. + * Don't start heartbeat until _writer is set + * Fix handling of multipart file uploads without a content type + * Preserve view handler function attributes across middlewares + * Fix the string representation of ServerDisconnectedError + * Raising RuntimeError when trying to get encoding from not read body + * Remove warning messages from noop. + * Raise ClientPayloadError if FormData re-processed. + * Fix a warning about unfinished task in web_protocol.py + * Fixed 'deflate' compression. According to RFC 2616 now. + * Fixed OverflowError on platforms with 32-bit time_t + * Fixed request.body_exists returns wrong value for methods + without body + * Fix connecting to link-local IPv6 addresses. + * Fix a problem with connection waiters that are never awaited + * Always make sure transport is not closing before reuse a + connection. + Reuse a protocol based on keepalive in headers is unreliable. + For example, uWSGI will not support keepalive even it serves a + HTTP 1.1 request, except explicitly configure uWSGI with a + ``--http-keepalive`` option. + Servers designed like uWSGI could cause aiohttp intermittently + raise a ConnectionResetException when the protocol poll runs + out and some protocol is reused. + * Handle the last CRLF correctly even if it is received via + separate TCP segment. + * Fix the register_resource function to validate route name + before splitting it so that route name can include python + keywords + * Fix resolver task is not awaited when connector is cancelled + * Fix Aiohttp doesn't return any error on invalid request methods + * Fix HEAD requests for static content. + * Fix incorrect size calculation for memoryview + * Add HTTPMove to _all__. + * Fixed the type annotations in the ``tracing`` module. + * Fix typing for multipart ``__aiter__``. + * Fix for race condition on connections in BaseConnector that + leads to exceeding the connection limit. + * Add forced UTF-8 encoding for ``application/rdap+json`` + responses. + * Fix inconsistency between Python and C http request parsers + in parsing pct-encoded URL + * Fix connection closing issue in HEAD request. + * Fix type hint on BaseRunner.addresses + (from ``List[str]`` to ``List[Any]``) +- from v3.6.3 + * Pin yarl to `<1.6.0` to avoid buggy behavior + +------------------------------------------------------------------- +Tue Mar 10 08:33:15 UTC 2020 - Tomáš Chvátal + +- Update to 3.6.2: + * more compatibility fixes with python 3.8 +- Disable tests as they explode in upstream git too and all other + distributions also gave up on it + +------------------------------------------------------------------- +Tue Mar 10 08:15:55 UTC 2020 - Tomáš Chvátal + +- Do remove pytest configuration to not error out on deprecation + warnings +- Unbundle http parser headers: + * unbundle-http-parser.patch + +------------------------------------------------------------------- +Tue Sep 24 10:20:20 UTC 2019 - Tomáš Chvátal + +- Update to 3.6.1: + * Compatibility with Python 3.8. #4056 + * correct some exception string format #4068 + * Emit a warning when ssl.OP_NO_COMPRESSION is unavailable because + the runtime is built against an outdated OpenSSL. #4052 + * Update multidict requirement to >= 4.5 #4057 +- Drop merged patch aiohttp-3.6.0-fix-typeerror.patch + +------------------------------------------------------------------- +Wed Sep 18 07:34:10 UTC 2019 - Matthias Fehring + +- Add patch to fix type error with old multidict: + * aiohttp-3.6.0-fix-typeerror.patch +- Require python-multidict 4.5 or newer + +------------------------------------------------------------------- +Fri Sep 13 12:05:43 UTC 2019 - Tomáš Chvátal + +- Update to 3.6.0: + * Add support for Named Pipes + * Removed Transfer-Encoding: chunked header + * Accept non-GET request for starting websocket handshake on server side +- Drop merged patch pytest5.patch + +------------------------------------------------------------------- +Thu Aug 22 09:27:05 UTC 2019 - Tomáš Chvátal + +- Add patch to work well with pytest 5: + * pytest5.patch + +------------------------------------------------------------------- +Tue Jun 4 14:47:20 UTC 2019 - Ondřej Súkup + +- Fix Requires and BuildRequires + +------------------------------------------------------------------- +Wed Feb 27 14:25:09 UTC 2019 - Ondřej Súkup + +- update to 3.5.4 +- drop invalid-escapes-in-tests.patch and rename-request-fixture.patch + * big list of changes from 3.4.4 - https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst + +------------------------------------------------------------------- +Tue Jan 15 13:15:30 UTC 2019 - Alberto Planas Dominguez + +- Remove version dependency from Cython (boo#1121578). + +------------------------------------------------------------------- +Tue Nov 20 13:29:01 UTC 2018 - John Paul Adrian Glaubitz + +- Add patch to address name collision issue with pytest fixtures + + rename-request-fixture.patch + +------------------------------------------------------------------- +Sat Oct 6 11:10:41 CEST 2018 - mcepl@suse.com + +- Upgrade to 3.4.4: + - Multiple small bugfixes + +- Remove remove-failing-tests-due-to-pytest-timeout-issues.patch +- Add invalid-escapes-in-tests.patch to fix invalid escapes in + non-raw regexp strings. + +------------------------------------------------------------------- +Fri Aug 31 11:50:26 UTC 2018 - Tomáš Chvátal + +- Match up requirements to the setup.py + +------------------------------------------------------------------- +Fri Aug 31 09:22:37 UTC 2018 - Adrian Schröter + +- update to version 3.4.0: + * please check the longer list in CHANGES.rst + +------------------------------------------------------------------- +Mon Jun 25 07:50:19 UTC 2018 - adrian@suse.de + +- update to version 3.3.2: + * Raise ``ConnectionResetError`` instead of ``CancelledError`` on trying to + write to a closed stream. (`#2499 `_) + * Implement ``ClientTimeout`` class and support socket read timeout. (`#2768 `_) + * Enable logging when ``aiohttp.web`` is used as a program (`#2956 `_) + * Add canonical property to resources (`#2968 `_) + * Forbid reading response BODY after release (`#2983 `_) + * Implement base protocol class to avoid a dependency from internal + ``asyncio.streams.FlowControlMixin`` (`#2986 `_) + * Cythonize ``@helpers.reify``, 5% boost on macro benchmark (`#2995 `_) + * Optimize HTTP parser (`#3015 `_) + * Implement ``runner.addresses`` property. (`#3036 `_) + * Use ``bytearray`` instead of a list of ``bytes`` in websocket reader. It + improves websocket message reading a little. (`#3039 `_) + * Remove heartbeat on closing connection on keepalive timeout. The used hack + violates HTTP protocol. (`#3041 `_) + * Limit websocket message size on reading to 4 MB by default. (`#3045 `_) + +------------------------------------------------------------------- +Sat Apr 14 17:22:15 UTC 2018 - arun@gmx.de + +- update to version 3.1.3: + * Fix cancellation broadcast during DNS resolve (#2910) + +------------------------------------------------------------------- +Thu Apr 12 20:47:59 UTC 2018 - arun@gmx.de + +- update to version 3.1.2: + * Make LineTooLong exception more detailed about actual data size + (#2863) + * Call on_chunk_sent when write_eof takes as a param the last chunk + (#2909) + +- changes from version 3.1.1: + * Support asynchronous iterators (and asynchronous generators as + well) in both client and server API as request / response BODY + payloads. (#2802) + +------------------------------------------------------------------- +Fri Mar 23 15:16:21 UTC 2018 - tbechtold@suse.com + +- update to 3.1.0: + - Relax JSON content-type checking in the ``ClientResponse.json()`` to allow + "application/xxx+json" instead of strict "application/json". (#2206) + - Bump C HTTP parser to version 2.8 (#2730) + - Accept a coroutine as an application factory in ``web.run_app`` and gunicorn + worker. (#2739) + - Implement application cleanup context (``app.cleanup_ctx`` property). (#2747) + - Make ``writer.write_headers`` a coroutine. (#2762) + - Add tracking signals for getting request/response bodies. (#2767) + - Deprecate ClientResponseError.code in favor of .status to keep similarity + with response classes. (#2781) + - Implement ``app.add_routes()`` method. (#2787) + - Implement ``web.static()`` and ``RouteTableDef.static()`` API. (#2795) + - Install a test event loop as default by ``asyncio.set_event_loop()``. The + change affects aiohttp test utils but backward compatibility is not broken + for 99.99% of use cases. (#2804) + - Refactor ``ClientResponse`` constructor: make logically required constructor + arguments mandatory, drop ``_post_init()`` method. (#2820) + - Use ``app.add_routes()`` in server docs everywhere (#2830) + - Websockets refactoring, all websocket writer methods are converted into + coroutines. (#2836) + - Provide ``Content-Range`` header for ``Range`` requests (#2844) + - Fix websocket client return EofStream. (#2784) + - Fix websocket demo. (#2789) + - Property ``BaseRequest.http_range`` now returns a python-like slice when + requesting the tail of the range. It's now indicated by a negative value in + ``range.start`` rather then in ``range.stop`` (#2805) + - Close a connection if an unexpected exception occurs while sending a request + - Fix firing DNS tracing events. (#2841) + - Change ``ClientResponse.json()`` documentation to reflect that it now + allows "application/xxx+json" content-types (#2206) + - Document behavior when cchardet detects encodings that are unknown to Python. + - Add diagrams for tracing request life style. (#2748) + - Drop removed functionality for passing ``StreamReader`` as data at client + side. (#2793) + +------------------------------------------------------------------- +Sat Feb 17 14:41:39 UTC 2018 - alarrosa@suse.com + +- update to version 3.0.1 + * async/await everywhere. The minimal supported Python version is 3.5.3 now. + * Application Runners. + * Client Tracing. Now it is possible by registering special signal handlers + on every request processing stage. + * HTTPS support + * Dropped obsolete API. The release dropped a lot of already deprecated + features. + * The full changelog can be read at + https://aiohttp.readthedocs.io/en/stable/changes.html + +- Add python3-idna_ssl, python3-Pygments and python3-aiohttp-theme to + BuildRequires. + +- Add Requires: python3-idna_ssl + +- Fix tests by removing a file and adding a patch to remove another + failing test due to a DeprecationWarning being issued by pytest because + of a problem in python-pytest-timeout. + * remove-failing-tests-due-to-pytest-timeout-issues.patch + +------------------------------------------------------------------- +Sun Dec 31 09:00:05 UTC 2017 - adrian@suse.de + +- update to version 2.3.7 + +------------------------------------------------------------------- +Sun Dec 10 08:39:51 UTC 2017 - adrian@suse.de + +- add MarkupSafe as build depdency to fix documentaion generation + +------------------------------------------------------------------- +Wed Dec 6 03:01:31 UTC 2017 - arun@gmx.de + +- update to version 2.3.6: + * Correct request.app context (for handlers not just + middlewares). (#2577) + +------------------------------------------------------------------- +Sun Dec 3 19:10:33 UTC 2017 - arun@gmx.de + +- specfile: + * require pluggy + +- update to version 2.3.5: + * Fix compatibility with pytest 3.3+ (#2565) + +- changes from version 2.3.4: + * Make request.app point to proper application instance when using + nested applications (with middlewares). (#2550) + * Change base class of ClientConnectorSSLError to ClientSSLError + from ClientConnectorError. (#2563) + * Return client connection back to free pool on error in + connector.connect(). (#2567) + +------------------------------------------------------------------- +Sun Nov 19 05:10:08 UTC 2017 - arun@gmx.de + +- update to version 2.3.3: + * Having a ; in Response content type does not assume it contains a + charset anymore. (#2197) + * Use getattr(asyncio, ‘async’) for keeping compatibility with + Python 3.7. (#2476) + * Ignore NotImplementedError raised by set_child_watcher from + uvloop. (#2491) + * Fix warning in ClientSession.__del__ by stopping to try to close + it. (#2523) + * Fixed typo’s in Third-party libraries page. And added async-v20 to + the list (#2510) + +------------------------------------------------------------------- +Thu Nov 9 06:33:40 UTC 2017 - arun@gmx.de + +- specfile: + * updated requirements according to requirement/ci-wheel.txt in + tar-ball + * removed 'changes' from %doc + +- update to version 2.3.2: + * Fix passing client max size on cloning request obj. (#2385) + * Fix ClientConnectorSSLError and ClientProxyConnectionError for + proxy connector. (#2408) + * Drop generated _http_parser shared object from tarball + distribution. (#2414) + * Fix connector convert OSError to ClientConnectorError. (#2423) + * Fix connection attempts for multiple dns hosts. (#2424) + * Fix ValueError for AF_INET6 sockets if a preexisting INET6 socket + to the aiohttp.web.run_app function. (#2431) + * _SessionRequestContextManager closes the session properly + now. (#2441) + * Rename from_env to trust_env in client reference. (#2451) + +- changes from version 2.3.1: + * Relax attribute lookup in warning about old-styled middleware + (#2340) + +- changes from version 2.3.0: + * Features + + Add SSL related params to ClientSession.request (#1128) + + Make enable_compression work on HTTP/1.0 (#1828) + + Deprecate registering synchronous web handlers (#1993) + + Switch to multidict 3.0. All HTTP headers preserve casing now + but compared in case-insensitive way. (#1994) + + Improvement for normalize_path_middleware. Added possibility to + handle URLs with query string. (#1995) + + Use towncrier for CHANGES.txt build (#1997) + + Implement trust_env=True param in ClientSession. (#1998) + + Added variable to customize proxy headers (#2001) + + Implement router.add_routes and router decorators. (#2004) + + Deprecated BaseRequest.has_body in favor of + BaseRequest.can_read_body Added BaseRequest.body_exists + attribute that stays static for the lifetime of the request + (#2005) + + Provide BaseRequest.loop attribute (#2024) + + Make _CoroGuard awaitable and fix ClientSession.close warning + message (#2026) + + Responses to redirects without Location header are returned + instead of raising a RuntimeError (#2030) + + Added get_client, get_server, setUpAsync and tearDownAsync + methods to AioHTTPTestCase (#2032) + + Add automatically a SafeChildWatcher to the test loop (#2058) + + add ability to disable automatic response decompression (#2110) + + Add support for throttling DNS request, avoiding the requests + saturation when there is a miss in the DNS cache and many + requests getting into the connector at the same time. (#2111) + + Use request for getting access log information instead of + message/transport pair. Add RequestBase.remote property for + accessing to IP of client initiated HTTP request. (#2123) + + json() raises a ContentTypeError exception if the content-type + does not meet the requirements instead of raising a generic + ClientResponseError. (#2136) + + Make the HTTP client able to return HTTP chunks when chunked + transfer encoding is used. (#2150) + + add append_version arg into StaticResource.url and + StaticResource.url_for methods for getting an url with hash + (version) of the file. (#2157) + + Fix parsing the Forwarded header. * commas and semicolons are + allowed inside quoted-strings; * empty forwarded-pairs (as in + for=_1;;by=_2) are allowed; * non-standard parameters are + allowed (although this alone could be easily done in the + previous parser). (#2173) + + Don’t require ssl module to run. aiohttp does not require SSL to + function. The code paths involved with SSL will only be hit upon + SSL usage. Raise RuntimeError if HTTPS protocol is required but + ssl module is not present. (#2221) + + Accept coroutine fixtures in pytest plugin (#2223) + + Call shutdown_asyncgens before event loop closing on Python + 3.6. (#2227) + + Speed up Signals when there are no receivers (#2229) + + Raise InvalidURL instead of ValueError on fetches with invalid + URL. (#2241) + + Move DummyCookieJar into cookiejar.py (#2242) + + run_app: Make print=None disable printing (#2260) + + Support brotli encoding (generic-purpose lossless compression + algorithm) (#2270) + + Add server support for WebSockets Per-Message Deflate. Add + client option to add deflate compress header in WebSockets + request header. If calling ClientSession.ws_connect() with + compress=15 the client will support deflate compress + negotiation. (#2273) + + Support verify_ssl, fingerprint, ssl_context and proxy_headers + by client.ws_connect. (#2292) + + Added aiohttp.ClientConnectorSSLError when connection fails due + ssl.SSLError (#2294) + + aiohttp.web.Application.make_handler support access_log_class + (#2315) + + Build HTTP parser extension in non-strict mode by + default. (#2332) + * Bugfixes + + Clear auth information on redirecting to other domain (#1699) + + Fix missing app.loop on startup hooks during tests (#2060) + + Fix issue with synchronous session closing when using + ClientSession as an asynchronous context manager. (#2063) + + Fix issue with CookieJar incorrectly expiring cookies in some + edge cases. (#2084) + + Force use of IPv4 during test, this will make tests run in a + Docker container (#2104) + + Warnings about unawaited coroutines now correctly point to the + user’s code. (#2106) + + Fix issue with IndexError being raised by the + StreamReader.iter_chunks() generator. (#2112) + + Support HTTP 308 Permanent redirect in client class. (#2114) + + Fix FileResponse sending empty chunked body on 304. (#2143) + + Do not add Content-Length: 0 to GET/HEAD/TRACE/OPTIONS requests + by default. (#2167) + + Fix parsing the Forwarded header according to RFC 7239. (#2170) + + Securely determining remote/scheme/host #2171 (#2171) + + Fix header name parsing, if name is split into multiple lines + (#2183) + + Handle session close during connection, KeyError: + (#2193) + + Fixes uncaught TypeError in helpers.guess_filename if name is + not a string (#2201) + + Raise OSError on async DNS lookup if resolved domain is an alias + for another one, which does not have an A or CNAME + record. (#2231) + + Fix incorrect warning in StreamReader. (#2251) + + Properly clone state of web request (#2284) + + Fix C HTTP parser for cases when status line is split into + different TCP packets. (#2311) + + Fix web.FileResponse overriding user supplied Content-Type + (#2317) + * Improved Documentation + + Add a note about possible performance degradation in await + resp.text() if charset was not provided by Content-Type HTTP + header. Pass explicit encoding to solve it. (#1811) + + Drop disqus widget from documentation pages. (#2018) + + Add a graceful shutdown section to the client usage + documentation. (#2039) + + Document connector_owner parameter. (#2072) + + Update the doc of web.Application (#2081) + + Fix mistake about access log disabling. (#2085) + + Add example usage of on_startup and on_shutdown signals by + creating and disposing an aiopg connection engine. (#2131) + + Document encoded=True for yarl.URL, it disables all yarl + transformations. (#2198) + + Document that all app’s middleware factories are run for every + request. (#2225) + + Reflect the fact that default resolver is threaded one starting + from aiohttp 1.1 (#2228) + * Deprecations and Removals + + Drop deprecated Server.finish_connections (#2006) + + Drop %O format from logging, use %b instead. Drop %e format from + logging, environment variables are not supported + anymore. (#2123) + + Drop deprecated secure_proxy_ssl_header support (#2171) + + Removed TimeService in favor of simple caching. TimeService also + had a bug where it lost about 0.5 seconds per second. (#2176) + + Drop unused response_factory from static files API (#2290) + * Misc + + #2013, #2014, #2048, #2094, #2149, #2187, #2214, #2225, #2243, + #2248 + +------------------------------------------------------------------- +Wed Sep 20 15:49:32 UTC 2017 - aloisio@gmx.com + +- Fixed build on non Factory targets + +------------------------------------------------------------------- +Mon Sep 11 15:24:42 UTC 2017 - jengelh@inai.de + +- Repair package description grammar. + +------------------------------------------------------------------- +Thu Aug 24 07:57:17 UTC 2017 - sebix+novell.com@sebix.at + +- first singlespec package +- fixes boo#1054580 boo#1054581 diff --git a/python-aiohttp.spec b/python-aiohttp.spec new file mode 100644 index 0000000..5b8828e --- /dev/null +++ b/python-aiohttp.spec @@ -0,0 +1,163 @@ +# +# spec file for package python-aiohttp +# +# 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 +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define skip_python2 1 +# requires some unavailable modules +%bcond_with docs +%{?sle15_python_module_pythons} +Name: python-aiohttp +Version: 3.8.5 +Release: 0 +Summary: Asynchronous HTTP client/server framework +License: Apache-2.0 +URL: https://github.com/aio-libs/aiohttp +Source: https://files.pythonhosted.org/packages/source/a/aiohttp/aiohttp-%{version}.tar.gz +# PATCH-FIX-UPSTREAM Update-update_query-calls-to-work-with-latest-yarl.patch gh#aio-libs/aiohttp#7260 +Patch1: Update-update_query-calls-to-work-with-latest-yarl.patch +Requires: python-aiosignal >= 1.1.2 +Requires: python-attrs >= 17.3.0 +Requires: python-frozenlist >= 1.1.1 +Requires: (python-async_timeout >= 4.0 with python-async_timeout < 5) +Requires: (python-asynctest = 0.13.0 if python-base < 3.8) +Requires: (python-charset-normalizer >= 2.0 with python-charset-normalizer < 4) +Requires: (python-idna_ssl >= 1.0 if python-base < 3.7) +Requires: (python-multidict >= 4.5 with python-multidict < 7) +Requires: (python-typing_extensions >= 3.7.4 if python-base < 3.8) +Requires: (python-yarl >= 1.0 with python-yarl < 2) +Recommends: python-Brotli +Recommends: python-aiodns +Recommends: python-cChardet +Suggests: %{name}-doc +# SECTION build requirements +BuildRequires: %{python_module Cython} +BuildRequires: %{python_module devel >= 3.6} +BuildRequires: %{python_module pip} +BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: http-parser-devel +BuildRequires: python-rpm-macros +# /SECTION +# SECTION install requirements +BuildRequires: %{python_module aiosignal >= 1.1.2} +BuildRequires: %{python_module async_timeout >= 4.0 with %python-async_timeout < 5} +BuildRequires: %{python_module asynctest = 0.13.0 if %python-base < 3.8} +BuildRequires: %{python_module attrs >= 17.3.0} +BuildRequires: %{python_module charset-normalizer >= 2.0 with %python-charset-normalizer < 4} +BuildRequires: %{python_module frozenlist >= 1.1.1} +BuildRequires: %{python_module idna_ssl >= 1.0 if %python-base < 3.7} +BuildRequires: %{python_module multidict >= 4.5 with %python-multidict < 7} +BuildRequires: %{python_module typing_extensions >= 3.7.4 if %python-base < 3.8} +BuildRequires: %{python_module yarl >= 1.0 with %python-yarl < 2} +# /SECTION +# SECTION test requirements +BuildRequires: %{python_module aiodns} +BuildRequires: %{python_module Brotli} +BuildRequires: %{python_module freezegun} +BuildRequires: %{python_module gunicorn} +BuildRequires: %{python_module pluggy} +BuildRequires: %{python_module proxy.py} +BuildRequires: %{python_module pytest >= 6.2.0} +BuildRequires: %{python_module pytest-mock} +BuildRequires: %{python_module pytest-timeout} +BuildRequires: %{python_module re-assert} +BuildRequires: %{python_module trustme} +# /SECTION +# SECTION docs +%if %{with docs} +BuildRequires: python3-MarkupSafe +BuildRequires: python3-Pygments >= 2.1 +BuildRequires: python3-Sphinx +BuildRequires: python3-aiohttp-theme +BuildRequires: python3-sphinxcontrib-asyncio +BuildRequires: python3-sphinxcontrib-blockdiag +BuildRequires: python3-sphinxcontrib-newsfeed +BuildRequires: python3-sphinxcontrib-towncrier +%endif +# /SECTION +%python_subpackages + +%description +Asynchronous HTTP client/server framework for Python. + +- Supports both the client and server side of HTTP protocol. +- Supports both client and server WebSockets out-of-the-box. +- Web-server has middleware and pluggable routing. + +%package -n %{name}-doc +Summary: Documentation files for %{name} + +%description -n %{name}-doc +HTML documentation on the API and examples for %{name}. + +%prep +%autosetup -p1 -n aiohttp-%{version} + +# don't check coverage +sed -i '/--cov/d' setup.cfg + +%build +export CFLAGS="%{optflags}" +%pyproject_wheel +%if %{with docs} +pushd docs +%make_build html +rm _build/html/.buildinfo +popd +%endif + +%install +%pyproject_install +%{python_expand %fdupes %{buildroot}%{$python_sitearch} +find %{buildroot}%{$python_sitearch} -name '*.[ch]' -delete +rm -r %{buildroot}%{$python_sitearch}/aiohttp/.hash +} + +%check +donttest="test_aiohttp_request_coroutine or test_mark_formdata_as_processed or test_aiohttp_plugin_async or test_secure_https_proxy_absolute_path" +# no name resolution +donttest+=" or test_client_session_timeout_zero or test_requote_redirect_url_default" +# flaky +donttest+=" or test_https_proxy_unsupported_tls_in_tls" +# not running under pytest ?! +donttest+=" or test_no_warnings" +%{python_expand # Does not work on python <= 3.6 +if [ %{$python_version_nodots} -eq 36 ]; then + #See https://github.com/openSUSE/python-rpm-macros#flavor-expansion for an explanation of this hack + $python_donttest=" or test_read_boundary_with_incomplete_chunk" +fi +} + +# Disable DeprecationWarning to avoid error with the latest setuptools +# and pkg_resources deprecation +%pytest_arch tests -rsEf -k "not ($donttest ${$python_donttest})" -W ignore::DeprecationWarning + +%files %{python_files} +%license LICENSE.txt +%doc CHANGES.rst CONTRIBUTORS.txt README.rst +%{python_sitearch}/aiohttp +%{python_sitearch}/aiohttp-%{version}*-info + +%if %{with docs} +%if 0%{?suse_version} > 1500 +%files -n %{name}-doc +%endif +%doc docs/_build/html +%endif + +%changelog