diff options
author | Campbell Barton <ideasman42@gmail.com> | 2017-09-04 17:22:31 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2017-09-04 17:24:29 +0300 |
commit | b07e983b613b9dd61262d4ff45908c33b0b9e8a1 (patch) | |
tree | 7571accb60f6ade07b66bb9061607680111de4b2 /release/scripts/modules | |
parent | 71f0c32dad840e4967f8e16f67eadcace16e2125 (diff) |
PyAPI: Add bpy.utils.register_classes_factory
Avoids having boiler plate register/unregister functions.
Diffstat (limited to 'release/scripts/modules')
-rw-r--r-- | release/scripts/modules/bpy/utils/__init__.py | 19 |
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 |