mirror of https://github.com/scrapy/scrapy.git
Remove verifyClass() from get_spider_loader().
This commit is contained in:
parent
c9446931a8
commit
5badd0787e
|
|
@ -6,7 +6,6 @@ from collections import defaultdict
|
||||||
from typing import TYPE_CHECKING, Protocol, cast
|
from typing import TYPE_CHECKING, Protocol, cast
|
||||||
|
|
||||||
from zope.interface import implementer
|
from zope.interface import implementer
|
||||||
from zope.interface.verify import verifyClass
|
|
||||||
|
|
||||||
from scrapy.interfaces import ISpiderLoader
|
from scrapy.interfaces import ISpiderLoader
|
||||||
from scrapy.utils.misc import load_object, walk_modules_iter
|
from scrapy.utils.misc import load_object, walk_modules_iter
|
||||||
|
|
@ -26,7 +25,6 @@ def get_spider_loader(settings: BaseSettings) -> SpiderLoaderProtocol:
|
||||||
"""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)
|
||||||
verifyClass(ISpiderLoader, loader_cls)
|
|
||||||
return cast("SpiderLoaderProtocol", loader_cls.from_settings(settings.frozencopy()))
|
return cast("SpiderLoaderProtocol", loader_cls.from_settings(settings.frozencopy()))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,6 @@ from typing import TYPE_CHECKING, Any, ClassVar
|
||||||
from unittest.mock import MagicMock
|
from unittest.mock import MagicMock
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from zope.interface.exceptions import MultipleInvalid
|
|
||||||
|
|
||||||
import scrapy
|
import scrapy
|
||||||
from scrapy import Spider
|
from scrapy import Spider
|
||||||
|
|
@ -586,21 +585,7 @@ class TestCrawlerLogging:
|
||||||
assert "debug message" in logged
|
assert "debug message" in logged
|
||||||
|
|
||||||
|
|
||||||
class SpiderLoaderWithWrongInterface:
|
|
||||||
def unneeded_method(self) -> None:
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
class TestCrawlerRunner(TestBaseCrawler):
|
class TestCrawlerRunner(TestBaseCrawler):
|
||||||
def test_spider_manager_verify_interface(self) -> None:
|
|
||||||
settings = Settings(
|
|
||||||
{
|
|
||||||
"SPIDER_LOADER_CLASS": SpiderLoaderWithWrongInterface,
|
|
||||||
}
|
|
||||||
)
|
|
||||||
with pytest.raises(MultipleInvalid):
|
|
||||||
CrawlerRunner(settings)
|
|
||||||
|
|
||||||
def test_crawler_runner_accepts_dict(self) -> None:
|
def test_crawler_runner_accepts_dict(self) -> None:
|
||||||
runner = CrawlerRunner({"foo": "bar"})
|
runner = CrawlerRunner({"foo": "bar"})
|
||||||
assert runner.settings["foo"] == "bar"
|
assert runner.settings["foo"] == "bar"
|
||||||
|
|
@ -612,15 +597,6 @@ class TestCrawlerRunner(TestBaseCrawler):
|
||||||
|
|
||||||
|
|
||||||
class TestAsyncCrawlerRunner(TestBaseCrawler):
|
class TestAsyncCrawlerRunner(TestBaseCrawler):
|
||||||
def test_spider_manager_verify_interface(self) -> None:
|
|
||||||
settings = Settings(
|
|
||||||
{
|
|
||||||
"SPIDER_LOADER_CLASS": SpiderLoaderWithWrongInterface,
|
|
||||||
}
|
|
||||||
)
|
|
||||||
with pytest.raises(MultipleInvalid):
|
|
||||||
AsyncCrawlerRunner(settings)
|
|
||||||
|
|
||||||
def test_crawler_runner_accepts_dict(self) -> None:
|
def test_crawler_runner_accepts_dict(self) -> None:
|
||||||
runner = AsyncCrawlerRunner({"foo": "bar"})
|
runner = AsyncCrawlerRunner({"foo": "bar"})
|
||||||
assert runner.settings["foo"] == "bar"
|
assert runner.settings["foo"] == "bar"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue