(
self, request: Request, info: SpiderInfo, item: Any
)
| 204 | request.meta["handle_httpstatus_all"] = True |
| 205 | |
| 206 | async def _check_media_to_download( |
| 207 | self, request: Request, info: SpiderInfo, item: Any |
| 208 | ) -> FileInfo: |
| 209 | try: |
| 210 | self._modify_media_request(request) |
| 211 | assert self.crawler.engine |
| 212 | response = await self.crawler.engine.download_async(request) |
| 213 | return await ensure_awaitable( |
| 214 | self.media_downloaded(response, request, info, item=item) |
| 215 | ) |
| 216 | except Exception: |
| 217 | failure = self.media_failed(Failure(), request, info) |
| 218 | if isinstance(failure, Failure): |
| 219 | warnings.warn( |
| 220 | f"{global_object_name(self.media_failed)} returned a Failure instance." |
| 221 | f" This is deprecated, please raise an exception instead, e.g. via failure.raiseException().", |
| 222 | category=ScrapyDeprecationWarning, |
| 223 | stacklevel=2, |
| 224 | ) |
| 225 | failure.raiseException() |
| 226 | |
| 227 | def _cache_result_and_execute_waiters( |
| 228 | self, result: FileInfo | Failure, fp: bytes, info: SpiderInfo |
no test coverage detected