mirror of https://github.com/scrapy/scrapy.git
Merge pull request #4448 from adityaa30/fix-zope
[fix] zope interface 5.0.0 unsupported
This commit is contained in:
commit
0ee04e1e91
|
|
@ -4,7 +4,15 @@ import signal
|
||||||
import warnings
|
import warnings
|
||||||
|
|
||||||
from twisted.internet import defer
|
from twisted.internet import defer
|
||||||
from zope.interface.verify import DoesNotImplement, verifyClass
|
from zope.interface.exceptions import DoesNotImplement
|
||||||
|
|
||||||
|
try:
|
||||||
|
# zope >= 5.0 only supports MultipleInvalid
|
||||||
|
from zope.interface.exceptions import MultipleInvalid
|
||||||
|
except ImportError:
|
||||||
|
MultipleInvalid = None
|
||||||
|
|
||||||
|
from zope.interface.verify import verifyClass
|
||||||
|
|
||||||
from scrapy import signals, Spider
|
from scrapy import signals, Spider
|
||||||
from scrapy.core.engine import ExecutionEngine
|
from scrapy.core.engine import ExecutionEngine
|
||||||
|
|
@ -124,9 +132,10 @@ class CrawlerRunner:
|
||||||
""" Get SpiderLoader instance from settings """
|
""" Get SpiderLoader instance from settings """
|
||||||
cls_path = settings.get('SPIDER_LOADER_CLASS')
|
cls_path = settings.get('SPIDER_LOADER_CLASS')
|
||||||
loader_cls = load_object(cls_path)
|
loader_cls = load_object(cls_path)
|
||||||
|
excs = (DoesNotImplement, MultipleInvalid) if MultipleInvalid else DoesNotImplement
|
||||||
try:
|
try:
|
||||||
verifyClass(ISpiderLoader, loader_cls)
|
verifyClass(ISpiderLoader, loader_cls)
|
||||||
except DoesNotImplement:
|
except excs:
|
||||||
warnings.warn(
|
warnings.warn(
|
||||||
'SPIDER_LOADER_CLASS (previously named SPIDER_MANAGER_CLASS) does '
|
'SPIDER_LOADER_CLASS (previously named SPIDER_MANAGER_CLASS) does '
|
||||||
'not fully implement scrapy.interfaces.ISpiderLoader interface. '
|
'not fully implement scrapy.interfaces.ISpiderLoader interface. '
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue