From 42d606f07ccd44a0f5440809ae037d764d79c4c8 Mon Sep 17 00:00:00 2001 From: Brandon Rising Date: Thu, 7 Mar 2024 17:07:40 -0500 Subject: [PATCH] use register instead of heuristic import, get rid of typing warnings --- .../services/model_install/model_install_default.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/invokeai/app/services/model_install/model_install_default.py b/invokeai/app/services/model_install/model_install_default.py index 4289c6e946..aba67b874a 100644 --- a/invokeai/app/services/model_install/model_install_default.py +++ b/invokeai/app/services/model_install/model_install_default.py @@ -307,12 +307,19 @@ class ModelInstallService(ModelInstallServiceBase): ), f"This script works on version 3.0.0 yaml files, but your configuration points to a {stanza['version']} version" continue - base_type, model_type, model_name = str(model_key).split("/") - model_path = stanza["path"] + _, _, model_name = str(model_key).split("/") + import pathlib + model_path = pathlib.Path(stanza["path"]) + if not model_path.is_absolute(): + model_path = (self._app_config.models_path / model_path) + model_path.resolve() description = stanza["description"] model_info = {"name": model_name, "description":description } - self.heuristic_import(source=model_path, config=model_info, inplace=True) + try: + self.register_path(model_path=model_path, config=model_info) + except Exception as e: + self._logger.warning(f"Model at {model_path} could not be loaded into database: {e}") def scan_directory(self, scan_dir: Path, install: bool = False) -> List[str]: # noqa D102