extract CrawlerRunner._crawl method which always expects Crawler

It provides an extension point where crawler instance is available;
it should make it easier to write alternative CrawlerRunner.crawl
implementations.

See also: https://github.com/scrapy/scrapy/pull/1256
This commit is contained in:
Mikhail Korobov 2015-06-08 18:35:44 +05:00
parent 87293965db
commit 3cbf8a0b2b
1 changed files with 2 additions and 0 deletions

View File

@ -148,7 +148,9 @@ class CrawlerRunner(object):
crawler = crawler_or_spidercls
if not isinstance(crawler_or_spidercls, Crawler):
crawler = self._create_crawler(crawler_or_spidercls)
return self._crawl(crawler, *args, **kwargs)
def _crawl(self, crawler, *args, **kwargs):
self.crawlers.add(crawler)
d = crawler.crawl(*args, **kwargs)
self._active.add(d)