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-09-04 17:22:31 +0300
committerCampbell Barton <ideasman42@gmail.com>2017-09-04 17:24:29 +0300
commitb07e983b613b9dd61262d4ff45908c33b0b9e8a1 (patch)
tree7571accb60f6ade07b66bb9061607680111de4b2 /release/scripts/modules/bpy
parent71f0c32dad840e4967f8e16f67eadcace16e2125 (diff)
PyAPI: Add bpy.utils.register_classes_factory
Avoids having boiler plate register/unregister functions.
Diffstat (limited to 'release/scripts/modules/bpy')
-rw-r--r--release/scripts/modules/bpy/utils/__init__.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/release/scripts/modules/bpy/utils/__init__.py b/release/scripts/modules/bpy/utils/__init__.py
index 966a1fe877c..185a0e73279 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_classes_factory",
"register_submodule_factory",
"make_rna_paths",
"manual_map",
@@ -702,6 +703,24 @@ def unregister_module(module, verbose=False):
print("done.\n")
+def register_classes_factory(classes):
+ """
+ Utility function to create register and unregister functions
+ which simply registers and unregisters a sequence of classes.
+ """
+ def register():
+ from bpy.utils import register_class
+ for cls in classes:
+ register_class(cls)
+
+ def unregister():
+ from bpy.utils import unregister_class
+ for cls in reversed(classes):
+ unregister_class(cls)
+
+ return register, unregister
+
+
def register_submodule_factory(module_name, submodule_names):
"""
Utility function to create register and unregister functions