MCPcopy
hub / github.com/scrapy/scrapy / from_crawler

Method from_crawler

scrapy/middleware.py:88–114  ·  view source on GitHub ↗
(cls, crawler: Crawler)

Source from the content-addressed store, hash-verified

86
87 @classmethod
88 def from_crawler(cls, crawler: Crawler) -> Self:
89 mwlist = cls._get_mwlist_from_settings(crawler.settings)
90 middlewares = []
91 enabled = []
92 for clspath in mwlist:
93 try:
94 mwcls = load_object(clspath)
95 mw = build_from_crawler(mwcls, crawler)
96 middlewares.append(mw)
97 enabled.append(clspath)
98 except NotConfigured as e:
99 if e.args:
100 logger.warning(
101 "Disabled %(clspath)s: %(eargs)s",
102 {"clspath": clspath, "eargs": e.args[0]},
103 extra={"crawler": crawler},
104 )
105
106 logger.info(
107 "Enabled %(componentname)ss:\n%(enabledlist)s",
108 {
109 "componentname": cls.component_name,
110 "enabledlist": pprint.pformat(enabled),
111 },
112 extra={"crawler": crawler},
113 )
114 return cls(*middlewares, crawler=crawler)
115
116 def _add_middleware(self, mw: Any) -> None: # noqa: B027
117 pass

Callers

nothing calls this directly

Calls 4

load_objectFunction · 0.90
build_from_crawlerFunction · 0.90
infoMethod · 0.80

Tested by

no test coverage detected