@@ -24,63 +24,36 @@ def add_options(parser=None, module=None, function=None):
24
24
interface = getattr (sys .modules [module ],function )()
25
25
26
26
for k ,v in interface .inputs .items ():
27
- parser .add_argument ("--%s" % k , dest = k ,
27
+ if hasattr (v , "mandatory" ) and v .mandatory :
28
+ parser .add_argument (k , help = v .desc )
29
+ else :
30
+ parser .add_argument ("--%s" % k , dest = k ,
28
31
help = v .desc )
29
32
return parser , interface
30
33
31
34
def run_instance (interface , options ):
32
35
if interface :
33
36
print "setting function inputs"
34
- for k ,v in interface .inputs .items ():
35
- optionskey = '' .join (('IXI' ,k ))
36
- if hasattr (options , optionskey ):
37
+ for k ,_ in interface .inputs .items ():
38
+ if getattr (options , k ) != None :
37
39
setattr (interface .inputs , k ,
38
- getattr (options , optionskey ))
40
+ getattr (options , k ))
39
41
print interface .inputs
40
- print "not really running anything"
42
+ res = interface .run ()
43
+ print res .outputs
41
44
42
- def get_modfunc (args ):
43
- module = None
44
- function = None
45
- posargs = []
46
- skip = False
47
- for a in args :
48
- if skip :
49
- skip = False
50
- continue
51
- if a .startswith ('--' ):
52
- pass
53
- elif a .startswith ('-' ):
54
- skip = True
55
- else :
56
- posargs .append (a )
57
- if posargs :
58
- module = posargs [0 ]
59
- if len (posargs )== 2 :
60
- function = posargs [1 ]
61
- return module , function
62
45
63
46
def parse_args ():
64
47
parser = argparse .ArgumentParser (description = 'Nipype interface runner' )
65
- parser .add_argument ("--run" , dest = "run" , help = "Execute" , default = False )
66
-
67
- #
68
- # usage = "usage: %prog [options] module function"
69
- # parser = OptionParser(usage=usage,version="%prog 1.0",
70
- # conflict_handler="resolve")
48
+ parser .add_argument ("module" , type = str , help = "Module name" )
49
+ parser .add_argument ("interface" , type = str , help = "Interface name" )
50
+ parsed = parser .parse_args (args = sys .argv [1 :3 ])
71
51
72
-
73
- module , function = get_modfunc (sys .argv [1 :])
74
- parser , interface = add_options (parser , module , function )
75
- args = parser .parse_args ()
76
- if args .run and interface :
77
- #assign inputs
78
- run_instance (interface , args )
79
- else :
80
- parser .print_help ()
81
- if module and not function :
82
- listClasses (module )
83
- parser .exit ()
52
+ _ , prog = os .path .split (sys .argv [0 ])
53
+ interface_parser = argparse .ArgumentParser (description = "Run %s" % parsed .interface , prog = " " .join ([prog ] + sys .argv [1 :3 ]))
54
+ interface_parser , interface = add_options (interface_parser , parsed .module , parsed .interface )
55
+ args = interface_parser .parse_args (args = sys .argv [3 :])
56
+ run_instance (interface , args )
84
57
85
58
86
59
#*****************************************************************************
0 commit comments