From fe2979edf39ba583032a6af514bb7aad805f47ce Mon Sep 17 00:00:00 2001 From: Georgiy Zatserklianyi Date: Fri, 9 Feb 2024 13:57:21 +0200 Subject: [PATCH] cookiejars exposed --- scrapy/downloadermiddlewares/cookies.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/scrapy/downloadermiddlewares/cookies.py b/scrapy/downloadermiddlewares/cookies.py index 85781efd6..1f920fa2e 100644 --- a/scrapy/downloadermiddlewares/cookies.py +++ b/scrapy/downloadermiddlewares/cookies.py @@ -16,7 +16,7 @@ from typing import ( from tldextract import TLDExtract -from scrapy import Request, Spider +from scrapy import Request, Spider, signals from scrapy.crawler import Crawler from scrapy.exceptions import NotConfigured from scrapy.http import Response @@ -51,7 +51,13 @@ class CookiesMiddleware: def from_crawler(cls, crawler: Crawler) -> Self: if not crawler.settings.getbool("COOKIES_ENABLED"): raise NotConfigured - return cls(crawler.settings.getbool("COOKIES_DEBUG")) + o = cls(crawler.settings.getbool("COOKIES_DEBUG")) + if crawler.settings.getbool("COOKIES_EXPOSE_JARS"): + crawler.signals.connect(o.spider_opened, signal=signals.spider_opened) + return o + + def spider_opened(self, spider: Spider) -> None: + spider.jars = self.jars def _process_cookies( self, cookies: Iterable[Cookie], *, jar: CookieJar, request: Request