(self, name: str)
| 458 | return result |
| 459 | |
| 460 | def __getattr__(self, name: str) -> Any: |
| 461 | if name in self._objects: |
| 462 | return self._objects[name] |
| 463 | if name in self._modules: |
| 464 | value = self._get_module(name) |
| 465 | elif name in self._class_to_module.keys(): |
| 466 | module = self._get_module(self._class_to_module[name]) |
| 467 | value = getattr(module, name) |
| 468 | elif self._extra_import_func is not None: |
| 469 | value = self._extra_import_func(name) |
| 470 | if value is None: |
| 471 | raise AttributeError( |
| 472 | f'module {self.__name__} has no attribute {name}') |
| 473 | else: |
| 474 | raise AttributeError( |
| 475 | f'module {self.__name__} has no attribute {name}') |
| 476 | |
| 477 | setattr(self, name, value) |
| 478 | return value |
| 479 | |
| 480 | def _get_module(self, module_name: str): |
| 481 | try: |
nothing calls this directly
no test coverage detected