(
self, request: Request, info: MediaPipeline.SpiderInfo, *, item: Any = None
)
| 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 |
nothing calls this directly
no test coverage detected