mirror of https://github.com/scrapy/scrapy.git
Use getlist to obtain STICKY_META_KEYS setting
This commit is contained in:
parent
f89b3dff93
commit
f8de153725
|
|
@ -7,7 +7,7 @@ class StickyMetaParamsMiddleware(object):
|
|||
|
||||
@classmethod
|
||||
def from_crawler(cls, crawler):
|
||||
keys_to_sticky = crawler.settings.get('STICKY_META_KEYS', [])
|
||||
keys_to_sticky = crawler.settings.getlist('STICKY_META_KEYS')
|
||||
if not keys_to_sticky:
|
||||
raise NotConfigured
|
||||
return cls(keys_to_sticky)
|
||||
|
|
|
|||
|
|
@ -45,3 +45,9 @@ class TestStickyMetaParamsMiddleware(TestCase):
|
|||
for result in results:
|
||||
if isinstance(result, Request):
|
||||
self.assertEqual(result.meta, {'param2': 'Stickied!'})
|
||||
|
||||
def test_comma_separated_string_setting(self):
|
||||
crawler = get_crawler(Spider, {'STICKY_META_KEYS': 'param1,param2'})
|
||||
middleware = self.create_middleware(crawler)
|
||||
assert type(middleware.keys_to_sticky) is list
|
||||
assert middleware.keys_to_sticky == ['param1', 'param2']
|
||||
|
|
|
|||
Loading…
Reference in New Issue