From 17cc90e3fecfd38d6e1456d508212c4fe7d08e7b Mon Sep 17 00:00:00 2001 From: Pablo Hoffman Date: Sun, 4 Sep 2011 08:58:23 -0300 Subject: [PATCH] added unittest for SpiderState extension --- scrapy/contrib/spiderstate.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/scrapy/contrib/spiderstate.py b/scrapy/contrib/spiderstate.py index c351a6e59..b8bdd9cfc 100644 --- a/scrapy/contrib/spiderstate.py +++ b/scrapy/contrib/spiderstate.py @@ -7,19 +7,20 @@ from scrapy.exceptions import NotConfigured from scrapy.xlib.pydispatch import dispatcher class SpiderState(object): - """Stores and loads spider state""" + """Store and load spider state during a scraping job""" def __init__(self, jobdir): self.statefn = os.path.join(jobdir, 'spider.state') - dispatcher.connect(self.spider_closed, signal=signals.spider_closed) - dispatcher.connect(self.spider_opened, signal=signals.spider_opened) @classmethod def from_crawler(cls, crawler): jobdir = crawler.settings.get('JOBDIR') if not jobdir: raise NotConfigured - return cls(jobdir) + obj = cls(jobdir) + dispatcher.connect(obj.spider_closed, signal=signals.spider_closed) + dispatcher.connect(obj.spider_opened, signal=signals.spider_opened) + return obj def spider_closed(self, spider): with open(self.statefn, 'wb') as f: