MCPcopy
hub / github.com/scrapy/scrapy / media_to_download

Method media_to_download

scrapy/pipelines/files.py:578–595  ·  view source on GitHub ↗
(
        self, request: Request, info: MediaPipeline.SpiderInfo, *, item: Any = None
    )

Source from the content-addressed store, hash-verified

576 }
577
578 def media_to_download(
579 self, request: Request, info: MediaPipeline.SpiderInfo, *, item: Any = None
580 ) -> Deferred[FileInfo | None] | None:
581 path = self.file_path(request, info=info, item=item)
582 # maybeDeferred() overloads don't seem to support a Union[_T, Deferred[_T]] return type
583 dfd: Deferred[StatInfo] = maybeDeferred(self.store.stat_file, path, info) # type: ignore[call-overload]
584 dfd2: Deferred[FileInfo | None] = dfd.addCallback(
585 functools.partial(self._onsuccess, request=request, info=info, path=path)
586 )
587 dfd2.addErrback(lambda _: None)
588 dfd2.addErrback(
589 lambda f: logger.error(
590 self.__class__.__name__ + ".store.stat_file",
591 exc_info=failure_to_exc_info(f),
592 extra={"spider": info.spider},
593 )
594 )
595 return dfd2
596
597 def media_failed(
598 self, failure: Failure, request: Request, info: MediaPipeline.SpiderInfo

Callers

nothing calls this directly

Calls 3

file_pathMethod · 0.95
failure_to_exc_infoFunction · 0.90
errorMethod · 0.80

Tested by

no test coverage detected