From 5bcabfe9c93b649c35fc4b9d1b0441db146bd406 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Gra=C3=B1a?= Date: Wed, 10 Sep 2014 23:25:57 -0300 Subject: [PATCH] SPIDER_MODULES can be set as a csv string --- scrapy/spidermanager.py | 2 +- tests/test_spidermanager/__init__.py | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/scrapy/spidermanager.py b/scrapy/spidermanager.py index 5715b7793..93e91bcb4 100644 --- a/scrapy/spidermanager.py +++ b/scrapy/spidermanager.py @@ -15,7 +15,7 @@ from scrapy.utils.spider import iter_spider_classes class SpiderManager(object): def __init__(self, settings): - self.spider_modules = settings['SPIDER_MODULES'] + self.spider_modules = settings.getlist('SPIDER_MODULES') self._spiders = {} for name in self.spider_modules: for module in walk_modules(name): diff --git a/tests/test_spidermanager/__init__.py b/tests/test_spidermanager/__init__.py index 69ab3b82a..94b8a1dc8 100644 --- a/tests/test_spidermanager/__init__.py +++ b/tests/test_spidermanager/__init__.py @@ -63,6 +63,13 @@ class SpiderManagerTest(unittest.TestCase): self.spiderman = SpiderManager.from_settings(settings) assert len(self.spiderman._spiders) == 1 + def test_load_spider_module(self): + prefix = 'tests.test_spidermanager.test_spiders.' + module = ','.join(prefix + s for s in ('spider1', 'spider2')) + settings = Settings({'SPIDER_MODULES': module}) + self.spiderman = SpiderManager.from_settings(settings) + assert len(self.spiderman._spiders) == 2 + def test_load_base_spider(self): module = 'tests.test_spidermanager.test_spiders.spider0' settings = Settings({'SPIDER_MODULES': [module]})