(self, spider: Spider)
| 517 | ) |
| 518 | |
| 519 | async def close_spider(self, spider: Spider) -> None: |
| 520 | self._pending_close_coros.extend( |
| 521 | self._close_slot(slot, spider) for slot in self.slots |
| 522 | ) |
| 523 | |
| 524 | if self._pending_close_coros: |
| 525 | if is_asyncio_available(): |
| 526 | await asyncio.wait( |
| 527 | [asyncio.create_task(coro) for coro in self._pending_close_coros] |
| 528 | ) |
| 529 | else: |
| 530 | await DeferredList( |
| 531 | deferred_from_coro(coro) for coro in self._pending_close_coros |
| 532 | ) |
| 533 | |
| 534 | # Send FEED_EXPORTER_CLOSED signal |
| 535 | await self.crawler.signals.send_catch_log_async(signals.feed_exporter_closed) |
| 536 | |
| 537 | @staticmethod |
| 538 | def _get_file(slot_: FeedSlot) -> IO[bytes]: |
nothing calls this directly
no test coverage detected