From b1277301e5cbdc46c83a1e70e3dbf65c2c156048 Mon Sep 17 00:00:00 2001 From: Airyzz <36567925+Airyzz@users.noreply.github.com> Date: Sun, 2 Mar 2025 11:57:20 +1030 Subject: [PATCH] improve error handling in blender integration --- integration/blender/export.py | 22 +++++++++++++++------- integration/blender/load_asset.py | 1 + 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/integration/blender/export.py b/integration/blender/export.py index 9ce931e..6fce5e2 100644 --- a/integration/blender/export.py +++ b/integration/blender/export.py @@ -3,6 +3,7 @@ from bpy.types import Operator from . import utils import inspect +import traceback class OT_AddObjectToPublish(Operator): @@ -79,13 +80,20 @@ def execute(self, context): continue exporter_instance = instance() - - exporter_instance.export( - directory=result['directory'], - file_name=result['recommended_file_name'], - extension=result['file_format'], - items = items - ) + exporter_instance.data = data + + try: + exporter_instance.export( + directory=result['directory'], + file_name=result['recommended_file_name'], + extension=result['file_format'], + items = items + ) + except Exception as ex: + self.report({'ERROR_INVALID_INPUT'}, ex.args[0]) + print(ex) + traceback.print_exc() + return {'FINISHED'} self.report({'INFO'}, "Exported %s!" % name) diff --git a/integration/blender/load_asset.py b/integration/blender/load_asset.py index 27145ee..6ccae4f 100644 --- a/integration/blender/load_asset.py +++ b/integration/blender/load_asset.py @@ -77,6 +77,7 @@ def load(results): importer.asset = asset importer.element = element + importer.data = utils.get_conduct_data() result = importer.load(file)