@@ -161,24 +161,17 @@ def display_diff(files, diff):
161
161
return output
162
162
163
163
164
- def main (args = None ):
164
+ def main (args = None , out = None ):
165
165
"""Getting the show on the road"""
166
- try :
167
- parser = get_opt_parser ()
168
- (opts , files ) = parser .parse_args ()
166
+ out = out or sys . stdout
167
+ parser = get_opt_parser ()
168
+ (opts , files ) = parser .parse_args (args )
169
169
170
- nibabel .cmdline .utils .verbose_level = opts .verbose
170
+ nibabel .cmdline .utils .verbose_level = opts .verbose
171
171
172
- if nibabel .cmdline .utils .verbose_level < 3 :
173
- # suppress nibabel format-compliance warnings
174
- nib .imageglobals .logger .level = 50
175
-
176
- except SystemExit :
177
- opts = None
178
- files = None
179
-
180
- if args :
181
- files = args
172
+ if nibabel .cmdline .utils .verbose_level < 3 :
173
+ # suppress nibabel format-compliance warnings
174
+ nib .imageglobals .logger .level = 50
182
175
183
176
assert len (files ) >= 2 , "Please enter at least two files"
184
177
@@ -201,11 +194,8 @@ def main(args=None):
201
194
diff ['DATA(md5)' ] = data_diff
202
195
203
196
if diff :
204
- if opts :
205
- sys .stdout .write (display_diff (files , diff ))
206
- raise SystemExit (1 )
207
- else :
208
- return diff # this functionality specifically for testing main
197
+ out .write (display_diff (files , diff ))
198
+ raise SystemExit (1 )
209
199
210
200
else :
211
- print ("These files are identical." )
201
+ out . write ("These files are identical.\n " )
0 commit comments