diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-02-15 15:43:25 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-02-15 15:43:25 +0300 |
commit | 37858fd4354a9f30c238cb318fef65ef7802d9c2 (patch) | |
tree | 2ae307c51976332f0d1b469e75a1782fe84d78ba /release | |
parent | 1c24096de804d2d0a5741febcf902a69b2fa7d90 (diff) |
make it so an error registering/unregestering wont stop loading scripts, just print the error and continue
Diffstat (limited to 'release')
-rw-r--r-- | release/scripts/modules/bpy/utils.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/release/scripts/modules/bpy/utils.py b/release/scripts/modules/bpy/utils.py index c8288df2e5d..c3c88717d09 100644 --- a/release/scripts/modules/bpy/utils.py +++ b/release/scripts/modules/bpy/utils.py @@ -117,7 +117,10 @@ def load_scripts(reload_scripts=False, refresh_scripts=False): if mod: register = getattr(mod, "register", None) if register: - register() + try: + register() + except: + traceback.print_exc() else: print("\nWarning! '%s' has no register function, this is now a requirement for registerable scripts." % mod.__file__) _loaded.append(mod) @@ -138,9 +141,12 @@ def load_scripts(reload_scripts=False, refresh_scripts=False): # loop over and unload all scripts _loaded.reverse() for mod in _loaded: - func = getattr(mod, "unregister", None) - if func: - func() + unregister = getattr(mod, "unregister", None) + if unregister: + try: + unregister() + except: + traceback.print_exc() _loaded[:] = [] |