From 7196a11f5321d05b79c9dedc29398a200d00c911 Mon Sep 17 00:00:00 2001 From: Andrey Rakhmatullin Date: Thu, 17 Oct 2024 21:51:13 +0500 Subject: [PATCH] Reorder unions with None. --- scrapy/core/spidermw.py | 2 +- scrapy/crawler.py | 2 +- scrapy/http/request/form.py | 6 +++--- scrapy/middleware.py | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/scrapy/core/spidermw.py b/scrapy/core/spidermw.py index 1edfe1c51..f7947d35d 100644 --- a/scrapy/core/spidermw.py +++ b/scrapy/core/spidermw.py @@ -339,7 +339,7 @@ class SpiderMiddlewareManager(MiddlewareManager): @staticmethod def _get_async_method_pair( mw: Any, methodname: str - ) -> None | Callable | tuple[Callable, Callable]: + ) -> Callable | tuple[Callable, Callable] | None: normal_method: Callable | None = getattr(mw, methodname, None) methodname_async = methodname + "_async" async_method: Callable | None = getattr(mw, methodname_async, None) diff --git a/scrapy/crawler.py b/scrapy/crawler.py index 701dccf57..3e5657d22 100644 --- a/scrapy/crawler.py +++ b/scrapy/crawler.py @@ -57,7 +57,7 @@ class Crawler: def __init__( self, spidercls: type[Spider], - settings: None | dict[str, Any] | Settings = None, + settings: dict[str, Any] | Settings | None = None, init_reactor: bool = False, ): if isinstance(spidercls, Spider): diff --git a/scrapy/http/request/form.py b/scrapy/http/request/form.py index 2fabf08d1..29743565d 100644 --- a/scrapy/http/request/form.py +++ b/scrapy/http/request/form.py @@ -197,7 +197,7 @@ def _get_inputs( def _value( ele: InputElement | SelectElement | TextareaElement, -) -> tuple[str | None, None | str | MultipleSelectOptions]: +) -> tuple[str | None, str | MultipleSelectOptions | None]: n = ele.name v = ele.value if ele.tag == "select": @@ -206,8 +206,8 @@ def _value( def _select_value( - ele: SelectElement, n: str | None, v: None | str | MultipleSelectOptions -) -> tuple[str | None, None | str | MultipleSelectOptions]: + ele: SelectElement, n: str | None, v: str | MultipleSelectOptions | None +) -> tuple[str | None, str | MultipleSelectOptions | None]: multiple = ele.multiple if v is None and not multiple: # Match browser behaviour on simple select tag without options selected diff --git a/scrapy/middleware.py b/scrapy/middleware.py index 39f26717a..b6a427895 100644 --- a/scrapy/middleware.py +++ b/scrapy/middleware.py @@ -40,7 +40,7 @@ class MiddlewareManager: self.middlewares = middlewares # Only process_spider_output and process_spider_exception can be None. # Only process_spider_output can be a tuple, and only until _async compatibility methods are removed. - self.methods: dict[str, deque[None | Callable | tuple[Callable, Callable]]] = ( + self.methods: dict[str, deque[Callable | tuple[Callable, Callable] | None]] = ( defaultdict(deque) ) for mw in middlewares: