diff options
author | Campbell Barton <ideasman42@gmail.com> | 2020-06-03 07:41:31 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2020-06-03 07:46:52 +0300 |
commit | 3b6e223a0319897b58ac61b8a47b12c40084ca14 (patch) | |
tree | b615235e0a783efd16115cf410e9d8cb802fd77f /release/scripts | |
parent | f0df4d6c35fc17c57adc8c0bcd5af11f7583f2ee (diff) |
Fix app-template warning disabling a template without a Python module
Diffstat (limited to 'release/scripts')
-rw-r--r-- | release/scripts/modules/bl_app_template_utils.py | 18 |
1 files changed, 11 insertions, 7 deletions
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) |