MCPcopy
hub / github.com/scrapy/scrapy / __init__

Method __init__

scrapy/middleware.py:41–56  ·  view source on GitHub ↗
(self, *middlewares: Any, crawler: Crawler | None = None)

Source from the content-addressed store, hash-verified

39 _compat_spider: Spider | None = None
40
41 def __init__(self, *middlewares: Any, crawler: Crawler | None = None) -> None:
42 self.crawler: Crawler | None = crawler
43 if crawler is None:
44 warnings.warn(
45 f"MiddlewareManager.__init__() was called without the crawler argument"
46 f" when creating {global_object_name(self.__class__)}."
47 f" This is deprecated and the argument will be required in future Scrapy versions.",
48 category=ScrapyDeprecationWarning,
49 stacklevel=2,
50 )
51 self.middlewares: tuple[Any, ...] = middlewares
52 # Only process_spider_output and process_spider_exception can be None.
53 self.methods: dict[str, deque[Callable[..., Any] | None]] = defaultdict(deque)
54 self._mw_methods_requiring_spider: set[Callable[..., Any]] = set()
55 for mw in middlewares:
56 self._add_middleware(mw)
57
58 @property
59 def _spider(self) -> Spider:

Callers

nothing calls this directly

Calls 2

_add_middlewareMethod · 0.95
global_object_nameFunction · 0.90

Tested by

no test coverage detected