From f5426c78a61697e2381fb3c0c6438cefa69f75cf Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Thu, 19 Mar 2020 17:56:54 +0100 Subject: [PATCH] install custom excepthook to not crash blender --- pype/blender/__init__.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pype/blender/__init__.py b/pype/blender/__init__.py index 4b6074a820..4f52b4168a 100644 --- a/pype/blender/__init__.py +++ b/pype/blender/__init__.py @@ -1,4 +1,6 @@ import os +import sys +import traceback from avalon import api as avalon from pyblish import api as pyblish @@ -11,9 +13,16 @@ PUBLISH_PATH = os.path.join(PLUGINS_DIR, "blender", "publish") LOAD_PATH = os.path.join(PLUGINS_DIR, "blender", "load") CREATE_PATH = os.path.join(PLUGINS_DIR, "blender", "create") +ORIGINAL_EXCEPTHOOK = sys.excepthook + + +def pype_excepthook_handler(*args): + traceback.print_exception(*args) + def install(): """Install Blender configuration for Avalon.""" + sys.excepthook = pype_excepthook_handler pyblish.register_plugin_path(str(PUBLISH_PATH)) avalon.register_plugin_path(avalon.Loader, str(LOAD_PATH)) avalon.register_plugin_path(avalon.Creator, str(CREATE_PATH)) @@ -21,6 +30,7 @@ def install(): def uninstall(): """Uninstall Blender configuration for Avalon.""" + sys.excepthook = ORIGINAL_EXCEPTHOOK pyblish.deregister_plugin_path(str(PUBLISH_PATH)) avalon.deregister_plugin_path(avalon.Loader, str(LOAD_PATH)) avalon.deregister_plugin_path(avalon.Creator, str(CREATE_PATH))