Spaces:
Runtime error
Runtime error
| import importlib.util | |
| from ..utils.tools import get_class | |
| from .base_model import BaseModel | |
| def get_model(name): | |
| import_paths = [ | |
| name, | |
| f"{__name__}.{name}", | |
| f"{__name__}.extractors.{name}", # backward compatibility | |
| f"{__name__}.matchers.{name}", # backward compatibility | |
| ] | |
| for path in import_paths: | |
| try: | |
| spec = importlib.util.find_spec(path) | |
| except ModuleNotFoundError: | |
| spec = None | |
| if spec is not None: | |
| try: | |
| return get_class(path, BaseModel) | |
| except AssertionError: | |
| mod = __import__(path, fromlist=[""]) | |
| try: | |
| return mod.__main_model__ | |
| except AttributeError as exc: | |
| print(exc) | |
| continue | |
| raise RuntimeError(f'Model {name} not found in any of [{" ".join(import_paths)}]') | |