(cls, crawler: Crawler)
| 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 |
nothing calls this directly
no test coverage detected