[Bf-blender-cvs] [3b6e223a031] master: Fix app-template warning disabling a template without a Python module
Campbell Barton
noreply at git.blender.org
Wed Jun 3 06:48:23 CEST 2020
Commit: 3b6e223a0319897b58ac61b8a47b12c40084ca14
Author: Campbell Barton
Date: Wed Jun 3 14:41:31 2020 +1000
Branches: master
https://developer.blender.org/rB3b6e223a0319897b58ac61b8a47b12c40084ca14
Fix app-template warning disabling a template without a Python module
===================================================================
M release/scripts/modules/bl_app_template_utils.py
===================================================================
diff --git a/release/scripts/modules/bl_app_template_utils.py b/release/scripts/modules/bl_app_template_utils.py
index 6ee1e2ab8df..7db084a9a29 100644
--- a/release/scripts/modules/bl_app_template_utils.py
+++ b/release/scripts/modules/bl_app_template_utils.py
@@ -68,14 +68,15 @@ def _enable(template_id, *, handle_error=None, ignore_not_found=False):
# 1) try import
try:
mod = import_from_id(template_id, ignore_not_found=ignore_not_found)
- if mod is None:
- return None
- mod.__template_enabled__ = False
- _modules[template_id] = mod
except Exception as ex:
handle_error(ex)
return None
+ _modules[template_id] = mod
+ if mod is None:
+ return None
+ mod.__template_enabled__ = False
+
# 2) try run the modules register function
try:
mod.register()
@@ -111,9 +112,12 @@ def _disable(template_id, *, handle_error=None):
import traceback
traceback.print_exc()
- mod = _modules.get(template_id)
+ mod = _modules.get(template_id, False)
- if mod and getattr(mod, "__template_enabled__", False) is not False:
+ if mod is None:
+ # Loaded but has no module, remove since there is no use in keeping it.
+ del _modules[template_id]
+ elif getattr(mod, "__template_enabled__", False) is not False:
mod.__template_enabled__ = False
try:
@@ -124,7 +128,7 @@ def _disable(template_id, *, handle_error=None):
handle_error(ex)
else:
print("\tapp_template_utils.disable: %s not %s." %
- (template_id, "disabled" if mod is None else "loaded"))
+ (template_id, "disabled" if mod is False else "loaded"))
if _bpy.app.debug_python:
print("\tapp_template_utils.disable", template_id)
More information about the Bf-blender-cvs
mailing list