From 02700392406e1386500ede566d70a2b82c61eaf4 Mon Sep 17 00:00:00 2001 From: Andrey Rakhmatullin Date: Fri, 8 May 2020 19:28:20 +0500 Subject: [PATCH] Simplify call_start_requests() to avoid an exception handling problem. --- scrapy/crawler.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/scrapy/crawler.py b/scrapy/crawler.py index 5a69888a7..836f214a8 100644 --- a/scrapy/crawler.py +++ b/scrapy/crawler.py @@ -96,16 +96,14 @@ class Crawler: yield self.engine.close() raise - @defer.inlineCallbacks def call_start_requests(self): if hasattr(inspect, 'isasyncgenfunction') and inspect.isasyncgenfunction(self.spider.start_requests): # requires Python 3.6+ - start_requests = self.spider.start_requests().__aiter__() + return self.spider.start_requests().__aiter__() elif inspect.iscoroutinefunction(self.spider.start_requests): - start_requests = yield deferred_from_coro(self.spider.start_requests()) + return deferred_from_coro(self.spider.start_requests()) else: - start_requests = iter(self.spider.start_requests()) - return start_requests + return iter(self.spider.start_requests()) def _create_spider(self, *args, **kwargs): return self.spidercls.from_crawler(self, *args, **kwargs)