|
19 | 19 | import os |
20 | 20 | import sys |
21 | 21 | import simplejson as json |
22 | | -import six |
23 | 22 |
|
24 | 23 | from ..scripts.instance import import_module |
25 | 24 |
|
@@ -310,7 +309,7 @@ def get_boutiques_input(inputs, interface, input_name, spec, verbose, |
310 | 309 | inp['type'] = "String" |
311 | 310 | if trait_handler.minlen != 0: |
312 | 311 | inp['min-list-entries'] = trait_handler.minlen |
313 | | - if trait_handler.maxlen != six.MAXSIZE: |
| 312 | + if trait_handler.maxlen != sys.maxsize: |
314 | 313 | inp['max-list-entries'] = trait_handler.maxlen |
315 | 314 | if spec.sep: |
316 | 315 | inp['list-separator'] = spec.sep |
@@ -353,6 +352,8 @@ def get_boutiques_input(inputs, interface, input_name, spec, verbose, |
353 | 352 | inp['optional'] = False |
354 | 353 | if spec.usedefault: |
355 | 354 | inp['default-value'] = spec.default_value()[1] |
| 355 | + if spec.requires is not None: |
| 356 | + inp['requires-inputs'] = spec.requires |
356 | 357 |
|
357 | 358 | try: |
358 | 359 | value_choices = trait_handler.values |
@@ -422,7 +423,8 @@ def get_boutiques_output(outputs, name, spec, interface, tool_inputs): |
422 | 423 |
|
423 | 424 | # Handle multi-outputs |
424 | 425 | if (isinstance(output_value, list) or |
425 | | - type(spec.handler).__name__ == "OutputMultiObject"): |
| 426 | + type(spec.handler).__name__ == "OutputMultiObject" or |
| 427 | + type(spec.handler).__name__ == "List"): |
426 | 428 | output['list'] = True |
427 | 429 | if output_value: |
428 | 430 | # Check if all extensions are the same |
@@ -451,32 +453,19 @@ def get_boutiques_output(outputs, name, spec, interface, tool_inputs): |
451 | 453 | def get_boutiques_groups(input_traits): |
452 | 454 | """ |
453 | 455 | Returns a list of dictionaries containing Boutiques groups for the mutually |
454 | | - exclusive and all-or-none Nipype inputs. |
| 456 | + exclusive Nipype inputs. |
455 | 457 | """ |
456 | 458 | desc_groups = [] |
457 | | - all_or_none_input_sets = [] |
458 | 459 | mutex_input_sets = [] |
459 | 460 |
|
460 | 461 | # Get all the groups |
461 | 462 | for name, spec in input_traits: |
462 | | - if spec.requires is not None: |
463 | | - group_members = set([name] + list(spec.requires)) |
464 | | - if group_members not in all_or_none_input_sets: |
465 | | - all_or_none_input_sets.append(group_members) |
466 | 463 | if spec.xor is not None: |
467 | 464 | group_members = set([name] + list(spec.xor)) |
468 | 465 | if group_members not in mutex_input_sets: |
469 | 466 | mutex_input_sets.append(group_members) |
470 | 467 |
|
471 | 468 | # Create a dictionary for each one |
472 | | - for i, inp_set in enumerate(all_or_none_input_sets, 1): |
473 | | - desc_groups.append({'id': "all_or_none_group" + |
474 | | - ("_" + str(i) if i != 1 else ""), |
475 | | - 'name': "All or none group" + |
476 | | - (" " + str(i) if i != 1 else ""), |
477 | | - 'members': list(inp_set), |
478 | | - 'all-or-none': True}) |
479 | | - |
480 | 469 | for i, inp_set in enumerate(mutex_input_sets, 1): |
481 | 470 | desc_groups.append({'id': "mutex_group" + |
482 | 471 | ("_" + str(i) if i != 1 else ""), |
|
0 commit comments