From 5a746c0e1fb1b83c2c4cc5208d2d9ec113c2c40e Mon Sep 17 00:00:00 2001 From: "Christopher J. Markiewicz" Date: Thu, 15 Apr 2021 10:33:15 -0400 Subject: [PATCH 1/3] FIX: Copy interface before running to prevent task mutation on run --- pydra/tasks/nipype1/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pydra/tasks/nipype1/utils.py b/pydra/tasks/nipype1/utils.py index 5fdfc43..1592bbf 100644 --- a/pydra/tasks/nipype1/utils.py +++ b/pydra/tasks/nipype1/utils.py @@ -68,7 +68,7 @@ def __init__( def _run_task(self): inputs = attr.asdict(self.inputs, filter=lambda a, v: v is not attr.NOTHING) - node = nipype.Node(self._interface, base_dir=self.output_dir, name=self.name) + node = nipype.Node(self._interface.copy(), base_dir=self.output_dir, name=self.name) node.inputs.trait_set(**inputs) res = node.run() self.output_ = res.outputs.get() From 3c4cc88cd3fceb540e55960de08956c453ea546c Mon Sep 17 00:00:00 2001 From: "Christopher J. Markiewicz" Date: Thu, 15 Apr 2021 10:53:30 -0400 Subject: [PATCH 2/3] FIX: Use deepcopy --- pydra/tasks/nipype1/utils.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pydra/tasks/nipype1/utils.py b/pydra/tasks/nipype1/utils.py index 1592bbf..08f01ac 100644 --- a/pydra/tasks/nipype1/utils.py +++ b/pydra/tasks/nipype1/utils.py @@ -2,6 +2,7 @@ import nipype import attr import typing as ty +from copy import deepcopy def traitedspec_to_specinfo(traitedspec): @@ -68,7 +69,7 @@ def __init__( def _run_task(self): inputs = attr.asdict(self.inputs, filter=lambda a, v: v is not attr.NOTHING) - node = nipype.Node(self._interface.copy(), base_dir=self.output_dir, name=self.name) + node = nipype.Node(deepcopy(self._interface), base_dir=self.output_dir, name=self.name) node.inputs.trait_set(**inputs) res = node.run() self.output_ = res.outputs.get() From 0709a5ea9fb3f9e0e18de6c621e8d78019b17337 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sat, 23 Mar 2024 02:05:24 +0000 Subject: [PATCH 3/3] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- pydra/tasks/nipype1/utils.py | 1 - 1 file changed, 1 deletion(-) diff --git a/pydra/tasks/nipype1/utils.py b/pydra/tasks/nipype1/utils.py index 405030e..ba33851 100644 --- a/pydra/tasks/nipype1/utils.py +++ b/pydra/tasks/nipype1/utils.py @@ -69,7 +69,6 @@ def __init__( ) self.output_spec = traitedspec_to_specinfo(interface._outputs()) - def _run_task(self, environment=None): inputs = attrs.asdict(self.inputs, filter=lambda a, v: v is not attrs.NOTHING) node = nipype.Node(deepcopy(self._interface), base_dir=self.output_dir, name=self.name)