[Bf-blender-cvs] [03b81730599] master: Python API: support setting properties in nested data in node add operator

Miguel Porces noreply at git.blender.org
Tue Jun 30 18:08:18 CEST 2020


Commit: 03b817305995e15b7e85f20e7b952b20b0aabda9
Author: Miguel Porces
Date:   Tue Jun 30 18:00:03 2020 +0200
Branches: master
https://developer.blender.org/rB03b817305995e15b7e85f20e7b952b20b0aabda9

Python API: support setting properties in nested data in node add operator

Differential Revision: https://developer.blender.org/D8093

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

M	release/scripts/startup/bl_operators/node.py

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

diff --git a/release/scripts/startup/bl_operators/node.py b/release/scripts/startup/bl_operators/node.py
index 9fdaebc7540..1c5ebb4fa17 100644
--- a/release/scripts/startup/bl_operators/node.py
+++ b/release/scripts/startup/bl_operators/node.py
@@ -94,9 +94,16 @@ class NodeAddOperator:
         for setting in self.settings:
             # XXX catch exceptions here?
             value = eval(setting.value)
+            node_data = node
+            node_attr_name = setting.name
+
+            # Support path to nested data.
+            if '.' in node_attr_name:
+                node_data_path, node_attr_name = node_attr_name.rsplit(".", 1)
+                node_data = node.path_resolve(node_data_path)
 
             try:
-                setattr(node, setting.name, value)
+                setattr(node_data, node_attr_name, value)
             except AttributeError as e:
                 self.report(
                     {'ERROR_INVALID_INPUT'},



More information about the Bf-blender-cvs mailing list