From 712096bf62e7fdd68fc08f4ee03576ac0f4d1a13 Mon Sep 17 00:00:00 2001 From: Adrian Chaves Date: Wed, 10 Jun 2026 16:32:05 +0200 Subject: [PATCH] Address typing issues --- scrapy/spidermiddlewares/base.py | 7 +++++-- scrapy/spidermiddlewares/depth.py | 13 +++++++++---- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/scrapy/spidermiddlewares/base.py b/scrapy/spidermiddlewares/base.py index e09f2d10e..28435da67 100644 --- a/scrapy/spidermiddlewares/base.py +++ b/scrapy/spidermiddlewares/base.py @@ -48,7 +48,10 @@ class BaseSpiderMiddleware: @_warn_spider_arg def process_spider_output( - self, response: Response, result: Iterable[Any], spider: Spider | None = None + self, + response: Response | None, + result: Iterable[Any], + spider: Spider | None = None, ) -> Iterable[Any]: for o in result: if (o := self._get_processed(o, response)) is not None: @@ -57,7 +60,7 @@ class BaseSpiderMiddleware: @_warn_spider_arg async def process_spider_output_async( self, - response: Response, + response: Response | None, result: AsyncIterator[Any], spider: Spider | None = None, ) -> AsyncIterator[Any]: diff --git a/scrapy/spidermiddlewares/depth.py b/scrapy/spidermiddlewares/depth.py index 9c387530c..054804119 100644 --- a/scrapy/spidermiddlewares/depth.py +++ b/scrapy/spidermiddlewares/depth.py @@ -55,19 +55,24 @@ class DepthMiddleware(BaseSpiderMiddleware): @_warn_spider_arg def process_spider_output( - self, response: Response, result: Iterable[Any], spider: Spider | None = None + self, + response: Response | None, + result: Iterable[Any], + spider: Spider | None = None, ) -> Iterable[Any]: - self._init_depth(response) + if response is not None: + self._init_depth(response) yield from super().process_spider_output(response, result) @_warn_spider_arg async def process_spider_output_async( self, - response: Response, + response: Response | None, result: AsyncIterator[Any], spider: Spider | None = None, ) -> AsyncIterator[Any]: - self._init_depth(response) + if response is not None: + self._init_depth(response) async for o in super().process_spider_output_async(response, result): yield o