(self)
| 87 | self._spiders[spcls.name] = spcls |
| 88 | |
| 89 | def _load_all_spiders(self) -> None: |
| 90 | for name in self.spider_modules: |
| 91 | try: |
| 92 | for module in walk_modules_iter(name): |
| 93 | self._load_spiders(module) |
| 94 | except (ImportError, SyntaxError): |
| 95 | if self.warn_only: |
| 96 | warnings.warn( |
| 97 | f"\n{traceback.format_exc()}Could not load spiders " |
| 98 | f"from module '{name}'. " |
| 99 | "See above traceback for details.", |
| 100 | stacklevel=2, |
| 101 | category=RuntimeWarning, |
| 102 | ) |
| 103 | else: |
| 104 | raise |
| 105 | self._check_name_duplicates() |
| 106 | |
| 107 | @classmethod |
| 108 | def from_settings(cls, settings: BaseSettings) -> Self: |
no test coverage detected