From 2eb92fcf32f3538a9510d1ddaf37854a53da58bd Mon Sep 17 00:00:00 2001 From: mprasil Date: Tue, 21 Nov 2023 09:43:42 +0000 Subject: [PATCH 1/2] Fix importing Middleware type alias _Middleware was removed upstream in [#5898][0]. We can now use `Middleware` type alias from the typedefs starting from aiohttp 3.9.0 [0]: https://github.com/aio-libs/aiohttp/pull/5898 --- src/aiohttp_middlewares/annotations.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/aiohttp_middlewares/annotations.py b/src/aiohttp_middlewares/annotations.py index 506b4cc..cf22edf 100644 --- a/src/aiohttp_middlewares/annotations.py +++ b/src/aiohttp_middlewares/annotations.py @@ -7,6 +7,8 @@ """ +import importlib + from typing import ( Any, Awaitable, @@ -19,9 +21,15 @@ ) from aiohttp import web -from aiohttp.web_middlewares import _Middleware as Middleware from yarl import URL +try: + # (<3.9.0) Try to import Middleware from aiohttp.web_middlewares + Middleware = importlib.import_module('aiohttp.web_middlewares')._Middleware +except AttributeError: + # (>=3.9.0) If that fails, import Middleware from aiohttp.typedefs + Middleware = importlib.import_module('aiohttp.typedefs').Middleware + # Make flake8 happy (Middleware,) From f7dab3be1430da30397eb4fa5eff5a330863e35e Mon Sep 17 00:00:00 2001 From: Miro Prasil Date: Thu, 23 Nov 2023 09:34:18 +0000 Subject: [PATCH 2/2] Indent properly --- src/aiohttp_middlewares/annotations.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/aiohttp_middlewares/annotations.py b/src/aiohttp_middlewares/annotations.py index cf22edf..80badee 100644 --- a/src/aiohttp_middlewares/annotations.py +++ b/src/aiohttp_middlewares/annotations.py @@ -24,12 +24,11 @@ from yarl import URL try: - # (<3.9.0) Try to import Middleware from aiohttp.web_middlewares - Middleware = importlib.import_module('aiohttp.web_middlewares')._Middleware + # (<3.9.0) Try to import Middleware from aiohttp.web_middlewares + Middleware = importlib.import_module('aiohttp.web_middlewares')._Middleware except AttributeError: - # (>=3.9.0) If that fails, import Middleware from aiohttp.typedefs - Middleware = importlib.import_module('aiohttp.typedefs').Middleware - + # (>=3.9.0) If that fails, import Middleware from aiohttp.typedefs + Middleware = importlib.import_module('aiohttp.typedefs').Middleware # Make flake8 happy (Middleware,)