mirror of
https://github.com/scrapy/scrapy.git
synced 2025-02-24 08:03:59 +00:00
This change removes singletons for stats collection and signal dispatching facilities, by making them a member of the Crawler class. Here are some examples to illustrates the old and new API: Signals - before: from scrapy import signals from scrapy.xlib.pydispatch import dispatcher dispatcher.connect(self.spider_opened, signals.spider_opened) Signals - now: from scrapy import signals crawler.signals.connect(self.spider.opened, signals.spider_opened) Stats collection - before: from scrapy.stats import stats stats.inc_value('foo') Stats collection - now: crawler.stats.inc_value('foo') Backwards compatibility was retained as much as possible and the old API has been properly flagged with deprecation warnings.
8 lines
265 B
Python
8 lines
265 B
Python
from scrapy.project import crawler
|
|
stats = crawler.stats
|
|
|
|
import warnings
|
|
from scrapy.exceptions import ScrapyDeprecationWarning
|
|
warnings.warn("Module `scrapy.stats` is deprecated, use `crawler.stats` attribute instead",
|
|
ScrapyDeprecationWarning, stacklevel=2)
|