[Bf-blender-cvs] [b07e983b613] master: PyAPI: Add bpy.utils.register_classes_factory

Campbell Barton noreply at git.blender.org
Mon Sep 4 16:17:14 CEST 2017


Commit: b07e983b613b9dd61262d4ff45908c33b0b9e8a1
Author: Campbell Barton
Date:   Tue Sep 5 00:22:31 2017 +1000
Branches: master
https://developer.blender.org/rBb07e983b613b9dd61262d4ff45908c33b0b9e8a1

PyAPI: Add bpy.utils.register_classes_factory

Avoids having boiler plate register/unregister functions.

===================================================================

M	release/scripts/modules/bpy/utils/__init__.py

===================================================================

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



More information about the Bf-blender-cvs mailing list