Skip to content

Commit 834a298

Browse files
authored
Merge pull request #1528 from mvbnoel/fix/format-node-missing-import
Fix broken format_node due to missing inspect import.
2 parents ba78e42 + c518f1b commit 834a298

File tree

4 files changed

+16
-2
lines changed

4 files changed

+16
-2
lines changed

nipype/pipeline/engine/base.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
1616
"""
1717

18+
from __future__ import absolute_import
19+
1820
from future import standard_library
1921
standard_library.install_aliases()
2022
from builtins import object

nipype/pipeline/engine/nodes.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
1616
"""
1717

18+
from __future__ import absolute_import
19+
1820
from future import standard_library
1921
standard_library.install_aliases()
2022
from builtins import range

nipype/pipeline/engine/utils.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
"""Utility routines for workflow graphs
66
"""
77

8+
from __future__ import absolute_import
9+
810
from future import standard_library
911
standard_library.install_aliases()
1012

@@ -22,6 +24,10 @@
2224
from copy import deepcopy
2325
from glob import glob
2426
from collections import defaultdict
27+
try:
28+
from inspect import signature
29+
except ImportError:
30+
from funcsigs import signature
2531
import os
2632
import re
2733
import numpy as np
@@ -115,15 +121,17 @@ def _write_inputs(node):
115121

116122
def format_node(node, format='python', include_config=False):
117123
"""Format a node in a given output syntax."""
124+
from .nodes import MapNode
118125
lines = []
119126
name = node.fullname.replace('.', '_')
120127
if format == 'python':
121128
klass = node._interface
122129
importline = 'from %s import %s' % (klass.__module__,
123130
klass.__class__.__name__)
124131
comment = '# Node: %s' % node.fullname
125-
spec = inspect.signature(node._interface.__init__)
126-
args = spec.args[1:]
132+
spec = signature(node._interface.__init__)
133+
args = [p.name for p in spec.parameters.values()]
134+
args = args[1:]
127135
if args:
128136
filled_args = []
129137
for arg in args:

nipype/pipeline/engine/workflows.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
1616
"""
1717

18+
from __future__ import absolute_import
19+
1820
from future import standard_library
1921
standard_library.install_aliases()
2022
from builtins import range

0 commit comments

Comments
 (0)