Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2017-07-25 10:36:49 +0300
committerCampbell Barton <ideasman42@gmail.com>2017-07-25 10:36:49 +0300
commit9bdd12d884c5130397e67f72caad2770d9524c9a (patch)
treef26951742aadf0c14810ed581bad9393cc2d23ec /release/scripts/modules
parentd99532e1d8fd49019003046dcf471c85a52e0398 (diff)
parentd1dc5e0a53c5a3484b7d20eb3a9847b53a227791 (diff)
Merge branch 'master' into blender2.8
Diffstat (limited to 'release/scripts/modules')
-rw-r--r--release/scripts/modules/bl_i18n_utils/utils_spell_check.py2
-rw-r--r--release/scripts/modules/bpy/utils/__init__.py42
-rw-r--r--release/scripts/modules/keyingsets_utils.py2
3 files changed, 44 insertions, 2 deletions
diff --git a/release/scripts/modules/bl_i18n_utils/utils_spell_check.py b/release/scripts/modules/bl_i18n_utils/utils_spell_check.py
index 285e2ebe477..b33588c903b 100644
--- a/release/scripts/modules/bl_i18n_utils/utils_spell_check.py
+++ b/release/scripts/modules/bl_i18n_utils/utils_spell_check.py
@@ -128,7 +128,7 @@ class SpellChecker:
"multisampling",
"multiscatter",
"multitexture",
- "multithreaded",
+ "multithreaded",
"multiuser",
"multiview",
"namespace",
diff --git a/release/scripts/modules/bpy/utils/__init__.py b/release/scripts/modules/bpy/utils/__init__.py
index 1d555ae7123..703a61f72f5 100644
--- a/release/scripts/modules/bpy/utils/__init__.py
+++ b/release/scripts/modules/bpy/utils/__init__.py
@@ -37,6 +37,7 @@ __all__ = (
"register_module",
"register_manual_map",
"unregister_manual_map",
+ "register_submodule_factory",
"make_rna_paths",
"manual_map",
"previews",
@@ -684,6 +685,47 @@ def unregister_module(module, verbose=False):
print("done.\n")
+def register_submodule_factory(module_name, submodule_names):
+ """
+ Utility function to create register and unregister functions
+ which simply load submodules,
+ calling their register & unregister functions.
+
+ .. note::
+
+ Modules are registered in the order given,
+ unregistered in reverse order.
+
+ :arg module_name: The module name, typically ``__name__``.
+ :type module_name: string
+ :arg submodule_names: List of submodule names to load and unload.
+ :type submodule_names: list of strings
+ :return: register and unregister functions.
+ :rtype: tuple pair of functions
+ """
+
+ module = None
+ submodules = []
+
+ def register():
+ nonlocal module
+ module = __import__(name=module_name, fromlist=submodule_names)
+ submodules[:] = [getattr(module, name) for name in submodule_names]
+ for mod in submodules:
+ mod.register()
+
+ def unregister():
+ from sys import modules
+ for mod in reversed(submodules):
+ mod.unregister()
+ name = mod.__name__
+ delattr(module, name.partition(".")[2])
+ del modules[name]
+ submodules.clear()
+
+ return register, unregister
+
+
# -----------------------------------------------------------------------------
# Manual lookups, each function has to return a basepath and a sequence
# of...
diff --git a/release/scripts/modules/keyingsets_utils.py b/release/scripts/modules/keyingsets_utils.py
index 8cef64c3590..7ce5f3e029b 100644
--- a/release/scripts/modules/keyingsets_utils.py
+++ b/release/scripts/modules/keyingsets_utils.py
@@ -232,7 +232,7 @@ bbone_property_ids = (
"bbone_scalein",
"bbone_scaleout",
- # NOTE: These are in the nested bone struct
+ # NOTE: These are in the nested bone struct
# Do it this way to force them to be included
# in whatever actions are being keyed here
"bone.bbone_in",