PyAPI: Add bpy.utils.register_classes_factory

Avoids having boiler plate register/unregister functions.
This commit is contained in:
Campbell Barton 2017-09-05 00:22:31 +10:00
parent 71f0c32dad
commit b07e983b61

@ -37,6 +37,7 @@ __all__ = (
"register_module", "register_module",
"register_manual_map", "register_manual_map",
"unregister_manual_map", "unregister_manual_map",
"register_classes_factory",
"register_submodule_factory", "register_submodule_factory",
"make_rna_paths", "make_rna_paths",
"manual_map", "manual_map",
@ -702,6 +703,24 @@ def unregister_module(module, verbose=False):
print("done.\n") 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): def register_submodule_factory(module_name, submodule_names):
""" """
Utility function to create register and unregister functions Utility function to create register and unregister functions