File tree Expand file tree Collapse file tree 2 files changed +12
-1
lines changed Expand file tree Collapse file tree 2 files changed +12
-1
lines changed Original file line number Diff line number Diff line change 2
2
from six .moves import cPickle as pickle
3
3
4
4
from scrapy import signals
5
+ from scrapy .exceptions import NotConfigured
5
6
from scrapy .utils .job import job_dir
6
7
7
8
class SpiderState (object ):
@@ -12,7 +13,11 @@ def __init__(self, jobdir=None):
12
13
13
14
@classmethod
14
15
def from_crawler (cls , crawler ):
15
- obj = cls (job_dir (crawler .settings ))
16
+ jobdir = job_dir (crawler .settings )
17
+ if not jobdir :
18
+ raise NotConfigured
19
+
20
+ obj = cls (jobdir )
16
21
crawler .signals .connect (obj .spider_closed , signal = signals .spider_closed )
17
22
crawler .signals .connect (obj .spider_opened , signal = signals .spider_opened )
18
23
return obj
Original file line number Diff line number Diff line change 4
4
5
5
from scrapy .extensions .spiderstate import SpiderState
6
6
from scrapy .spiders import Spider
7
+ from scrapy .exceptions import NotConfigured
8
+ from scrapy .utils .test import get_crawler
7
9
8
10
9
11
class SpiderStateTest (unittest .TestCase ):
@@ -34,3 +36,7 @@ def test_state_attribute(self):
34
36
ss .spider_opened (spider )
35
37
self .assertEqual (spider .state , {})
36
38
ss .spider_closed (spider )
39
+
40
+ def test_not_configured (self ):
41
+ crawler = get_crawler (Spider )
42
+ self .assertRaises (NotConfigured , SpiderState .from_crawler , crawler )
You can’t perform that action at this time.
0 commit comments