diff --git a/dumper.py b/dumper.py index e1cbe4b..5bfcb17 100644 --- a/dumper.py +++ b/dumper.py @@ -9,8 +9,7 @@ from . import utils def get_dumper(bl_object: bpy.types.bpy_struct) -> type[Dumper]: - """Get the corresponding dumper for a given Blender object, or its closest base type using its MRO""" - + """Get the closest corresponding dumper for a given Blender object using its MRO""" for cls in bl_object.__class__.mro(): dumper_map = DumperRegistry().dumper_map if cls in dumper_map: @@ -19,8 +18,9 @@ def get_dumper(bl_object: bpy.types.bpy_struct) -> type[Dumper]: # Fallback to base Dumper if no matches are found return Dumper + def dump_nodes(nodes: list[bpy.types.Node]): - """Generic Recursive Dump, convert any object into a dict""" + """Generic recursive dump, convert nodes into a dict""" Dumper.pointers.clear() # TODO: Bad global data = [dump_node(node) for node in nodes] @@ -29,9 +29,10 @@ def dump_nodes(nodes: list[bpy.types.Node]): return data + def dump_node(node: bpy.types.Node): dumper = get_dumper(node) - return dumper.dump(node) # TODO: Break the recursivity, clear things up + return dumper.dump(node) def load_nodes(data, node_tree):