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

Method __init__

scrapy/pipelines/images.py:56–110  ·  view source on GitHub ↗
(
        self,
        store_uri: str | PathLike[str],
        download_func: None = None,
        *,
        crawler: Crawler,
    )

Source from the content-addressed store, hash-verified

54 DEFAULT_IMAGES_RESULT_FIELD = "images"
55
56 def __init__(
57 self,
58 store_uri: str | PathLike[str],
59 download_func: None = None,
60 *,
61 crawler: Crawler,
62 ):
63 if download_func is not None: # pragma: no cover
64 warnings.warn(
65 "The download_func argument of ImagesPipeline.__init__() is ignored"
66 " and will be removed in a future Scrapy version.",
67 category=ScrapyDeprecationWarning,
68 stacklevel=2,
69 )
70
71 try:
72 from PIL import Image, ImageOps # noqa: PLC0415
73
74 self._Image = Image
75 self._ImageOps = ImageOps
76 except ImportError:
77 raise NotConfigured(
78 "ImagesPipeline requires installing Pillow 8.3.2 or later"
79 ) from None
80
81 super().__init__(store_uri, crawler=crawler)
82
83 settings = crawler.settings
84 resolve = functools.partial(
85 self._key_for_pipe,
86 base_class_name="ImagesPipeline",
87 settings=settings,
88 )
89 self.expires: int = settings.getint(resolve("IMAGES_EXPIRES"), self.EXPIRES)
90
91 if not hasattr(self, "IMAGES_RESULT_FIELD"):
92 self.IMAGES_RESULT_FIELD: str = self.DEFAULT_IMAGES_RESULT_FIELD
93 if not hasattr(self, "IMAGES_URLS_FIELD"):
94 self.IMAGES_URLS_FIELD: str = self.DEFAULT_IMAGES_URLS_FIELD
95
96 self.images_urls_field: str = settings.get(
97 resolve("IMAGES_URLS_FIELD"), self.IMAGES_URLS_FIELD
98 )
99 self.images_result_field: str = settings.get(
100 resolve("IMAGES_RESULT_FIELD"), self.IMAGES_RESULT_FIELD
101 )
102 self.min_width: int = settings.getint(
103 resolve("IMAGES_MIN_WIDTH"), self.MIN_WIDTH
104 )
105 self.min_height: int = settings.getint(
106 resolve("IMAGES_MIN_HEIGHT"), self.MIN_HEIGHT
107 )
108 self.thumbs: dict[str, tuple[int, int]] = settings.get(
109 resolve("IMAGES_THUMBS"), self.THUMBS
110 )
111
112 @classmethod
113 def from_crawler(cls, crawler: Crawler) -> Self:

Callers

nothing calls this directly

Calls 3

NotConfiguredClass · 0.90
getintMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected