From f2234c5b96d4069d6881aacb7007ba3d305dfb0e Mon Sep 17 00:00:00 2001 From: Laerte Pereira <5853172+Laerte@users.noreply.github.com> Date: Tue, 7 Jan 2025 06:40:49 -0300 Subject: [PATCH] Fix Crawler.request_fingerprinter typing (#6605) --- scrapy/crawler.py | 4 ++-- scrapy/extensions/httpcache.py | 6 ++++-- scrapy/pipelines/media.py | 4 ++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/scrapy/crawler.py b/scrapy/crawler.py index 0a28c4549..f6dbe053a 100644 --- a/scrapy/crawler.py +++ b/scrapy/crawler.py @@ -44,7 +44,7 @@ if TYPE_CHECKING: from scrapy.logformatter import LogFormatter from scrapy.spiderloader import SpiderLoader from scrapy.statscollectors import StatsCollector - from scrapy.utils.request import RequestFingerprinter + from scrapy.utils.request import RequestFingerprinterProtocol logger = logging.getLogger(__name__) @@ -80,7 +80,7 @@ class Crawler: self.extensions: ExtensionManager | None = None self.stats: StatsCollector | None = None self.logformatter: LogFormatter | None = None - self.request_fingerprinter: RequestFingerprinter | None = None + self.request_fingerprinter: RequestFingerprinterProtocol | None = None self.spider: Spider | None = None self.engine: ExecutionEngine | None = None diff --git a/scrapy/extensions/httpcache.py b/scrapy/extensions/httpcache.py index fe2cbcb86..0cd16d737 100644 --- a/scrapy/extensions/httpcache.py +++ b/scrapy/extensions/httpcache.py @@ -29,7 +29,7 @@ if TYPE_CHECKING: from scrapy.http.request import Request from scrapy.settings import BaseSettings from scrapy.spiders import Spider - from scrapy.utils.request import RequestFingerprinter + from scrapy.utils.request import RequestFingerprinterProtocol logger = logging.getLogger(__name__) @@ -265,7 +265,9 @@ class DbmCacheStorage: ) assert spider.crawler.request_fingerprinter - self._fingerprinter: RequestFingerprinter = spider.crawler.request_fingerprinter + self._fingerprinter: RequestFingerprinterProtocol = ( + spider.crawler.request_fingerprinter + ) def close_spider(self, spider: Spider) -> None: self.db.close() diff --git a/scrapy/pipelines/media.py b/scrapy/pipelines/media.py index 0f3329db1..e66b86ce6 100644 --- a/scrapy/pipelines/media.py +++ b/scrapy/pipelines/media.py @@ -30,7 +30,7 @@ if TYPE_CHECKING: from scrapy import Spider from scrapy.crawler import Crawler from scrapy.http import Response - from scrapy.utils.request import RequestFingerprinter + from scrapy.utils.request import RequestFingerprinterProtocol class FileInfo(TypedDict): @@ -47,7 +47,7 @@ logger = logging.getLogger(__name__) class MediaPipeline(ABC): crawler: Crawler - _fingerprinter: RequestFingerprinter + _fingerprinter: RequestFingerprinterProtocol _modern_init = False LOG_FAILED_RESULTS: bool = True