PY3 port scrapy.utils.spider

This commit is contained in:
Mikhail Korobov 2014-08-01 16:43:39 +06:00
parent 560c32d330
commit 669b62c741
4 changed files with 6 additions and 6 deletions

View File

@ -3,7 +3,7 @@ SpiderManager is the class which locates and manages all website-specific
spiders
"""
from zope.interface import implements
from zope.interface import implementer
import six
from scrapy import signals
@ -12,10 +12,9 @@ from scrapy.utils.misc import walk_modules
from scrapy.utils.spider import iter_spider_classes
@implementer(ISpiderManager)
class SpiderManager(object):
implements(ISpiderManager)
def __init__(self, spider_modules):
self.spider_modules = spider_modules
self._spiders = {}

View File

@ -1,5 +1,7 @@
import inspect
import six
from scrapy import log
from scrapy.item import BaseItem
from scrapy.utils.misc import arg_to_iter
@ -16,7 +18,7 @@ def iter_spider_classes(module):
# singleton in scrapy.spider.spiders
from scrapy.spider import Spider
for obj in vars(module).itervalues():
for obj in six.itervalues(vars(module)):
if inspect.isclass(obj) and \
issubclass(obj, Spider) and \
obj.__module__ == module.__name__ and \

View File

@ -69,7 +69,6 @@ tests/test_utils_request.py
tests/test_utils_response.py
tests/test_utils_serialize.py
tests/test_utils_signal.py
tests/test_utils_spider.py
tests/test_utils_template.py
tests/test_utils_url.py
tests/test_webclient.py

View File

@ -30,7 +30,7 @@ class UtilsSpidersTestCase(unittest.TestCase):
def test_iter_spider_classes(self):
import tests.test_utils_spider
it = iter_spider_classes(tests.test_utils_spider)
self.assertEqual(set(it), set([MySpider1, MySpider2]))
self.assertEqual(set(it), {MySpider1, MySpider2})
if __name__ == "__main__":
unittest.main()