1
0
mirror of https://github.com/scrapy/scrapy.git synced 2025-02-11 15:11:34 +00:00

Deprecate MiddlewareManager.from_settings().

This commit is contained in:
Andrey Rakhmatullin 2024-11-12 22:57:39 +05:00
parent 499e7e8aa6
commit eda1a8a7c5

View File

@ -65,13 +65,19 @@ class MiddlewareManager:
@classmethod
def from_settings(cls, settings: Settings, crawler: Crawler | None = None) -> Self:
if crawler is None:
warnings.warn(
"Calling MiddlewareManager.from_settings() without a Crawler instance is deprecated."
" As this method will be deprecated in the future, please switch to from_crawler().",
category=ScrapyDeprecationWarning,
stacklevel=2,
)
warnings.warn(
f"{cls.__name__}.from_settings() is deprecated, use from_crawler() instead.",
category=ScrapyDeprecationWarning,
stacklevel=2,
)
return cls._from_settings(settings, crawler)
@classmethod
def from_crawler(cls, crawler: Crawler) -> Self:
return cls._from_settings(crawler.settings, crawler)
@classmethod
def _from_settings(cls, settings: Settings, crawler: Crawler | None = None) -> Self:
mwlist = cls._get_mwlist_from_settings(settings)
middlewares = []
enabled = []
@ -102,10 +108,6 @@ class MiddlewareManager:
)
return cls(*middlewares)
@classmethod
def from_crawler(cls, crawler: Crawler) -> Self:
return cls.from_settings(crawler.settings, crawler)
def _add_middleware(self, mw: Any) -> None:
if hasattr(mw, "open_spider"):
self.methods["open_spider"].append(mw.open_spider)