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

Differential Revision: https://developer.blender.org/D8093
This commit is contained in:
Miguel Porces 2020-06-30 18:00:03 +02:00 committed by Brecht Van Lommel
parent 6add0cc88a
commit 03b8173059
1 changed files with 8 additions and 1 deletions

View File

@ -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'},