From c2a461f1ac2b0b1272d4f65ed404779c48bc6198 Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Fri, 31 Jan 2025 23:13:10 +0100 Subject: [PATCH] Improve error message when import fails --- client/ayon_silhouette/api/plugin.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/client/ayon_silhouette/api/plugin.py b/client/ayon_silhouette/api/plugin.py index c863089..5ef61fa 100644 --- a/client/ayon_silhouette/api/plugin.py +++ b/client/ayon_silhouette/api/plugin.py @@ -9,6 +9,7 @@ AYON_INSTANCE_ID, CreatorError, ) +from ayon_core.pipeline.load import LoadError from ayon_core.lib import BoolDef from . import lib @@ -278,8 +279,20 @@ def load(self, context, name=None, namespace=None, options=None): # Import the file fx.activate(node) filepath = self.filepath_from_context(context) - fx.io_modules[self.io_module].importFile(filepath) + try: + fx.io_modules[self.io_module].importFile(filepath) + except AssertionError as exc: + # Provide better message than "importer not ready" when it fails + # to import + if str(exc) == "importer not ready": + raise LoadError( + f"Failed to import as '{self.io_module}':\n{filepath}" + f"\n\n" + f"Silhouette is unable to import the file. Most likely " + f"due to incompatibilities or mismatching filetype." + ) from exc + raise self._process_loaded(context, node) # property.hidden = True # hide the attribute