From b78ec37f0f98e8f0f3d1b24f855198652f0422d2 Mon Sep 17 00:00:00 2001 From: Carson Katri Date: Wed, 1 Mar 2023 22:24:36 -0500 Subject: [PATCH] Improve dot access handling --- operators/convert_tree.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/operators/convert_tree.py b/operators/convert_tree.py index ea30215..e76a71a 100644 --- a/operators/convert_tree.py +++ b/operators/convert_tree.py @@ -27,7 +27,7 @@ class _Assignment: def convert_argument(self, k, v, delimiter='=', index=None): if isinstance(v, list): - v = ', '.join([self.convert_argument("", sv, delimiter="", index=i) for i, sv in enumerate(v)]) + v = ', '.join([self.convert_argument(k, sv, delimiter="", index=i).removeprefix(k) for i, sv in enumerate(v)]) return f"{k}{delimiter}[{v}]" if not isinstance(v, _Assignment): if isinstance(v, str): @@ -38,7 +38,7 @@ class _Assignment: if v.node.type == 'GROUP_INPUT': return f"{k}{delimiter}{self.argument_dot_access[k] if index is None else self.argument_dot_access[k][index]}" else: - return f"{k}{delimiter}{v.name}{'.' + self.argument_dot_access[k] if len(list(o for o in v.node.outputs if o.enabled)) > 1 else ''}" + return f"{k}{delimiter}{v.name}{'.' + (self.argument_dot_access[k] if index is None else self.argument_dot_access[k][index]) if len(list(o for o in v.node.outputs if o.enabled)) > 1 else ''}" def to_script(self): snake_case_name = self.node.bl_rna.name.lower().replace(' ', '_')