@@ -58,7 +58,21 @@ def _write_inputs(node):
58
58
val = getattr (node .inputs , key )
59
59
if isdefined (val ):
60
60
if type (val ) == str :
61
- lines .append ('%s.inputs.%s = "%s"' % (node .name , key , val ))
61
+ try :
62
+ func = create_function_from_source (val )
63
+ except RuntimeError , e :
64
+ lines .append ("%s.inputs.%s = '%s'" % (node .name , key , val ))
65
+ else :
66
+ funcname = [name for name in func .func_globals if name != '__builtins__' ][0 ]
67
+ lines .append (cPickle .loads (val ))
68
+ if funcname == node .name :
69
+ lines [- 1 ] = lines [- 1 ].replace (' %s(' % funcname ,
70
+ ' %s_1(' % funcname )
71
+ funcname = '%s_1' % funcname
72
+ lines .append ('from nipype.utils.misc import getsource' )
73
+ lines .append ("%s.inputs.%s = getsource(%s)" % (node .name ,
74
+ key ,
75
+ funcname ))
62
76
else :
63
77
lines .append ('%s.inputs.%s = %s' % (node .name , key , val ))
64
78
return lines
@@ -586,7 +600,8 @@ def export(self, prefix="output", format="python"):
586
600
functionlines .append (cPickle .loads (function ).rstrip ())
587
601
all_lines = importlines + functionlines + lines
588
602
with open ('%s%s.py' % (prefix , self .name ), 'wt' ) as fp :
589
- fp .writelines ('\n ' .join ([line .replace ('\n ' , '\\ n' ) for line in all_lines ]))
603
+ #fp.writelines('\n'.join([line.replace('\n', '\\n') for line in all_lines]))
604
+ fp .writelines ('\n ' .join (all_lines ))
590
605
return all_lines
591
606
592
607
def run (self , plugin = None , plugin_args = None , updatehash = False ):
0 commit comments