Skip to content

Commit b713b4d

Browse files
committed
fix(traits): Replace deprecated traits.List$Sub with traits.List($Sub)
1 parent ea4164c commit b713b4d

File tree

14 files changed

+54
-56
lines changed

14 files changed

+54
-56
lines changed

nipype/algorithms/rapidart.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,8 @@ class ArtifactDetectInputSpec(BaseInterfaceInputSpec):
189189
desc="Source of movement parameters",
190190
mandatory=True,
191191
)
192-
use_differences = traits.ListBool(
192+
use_differences = traits.List(
193+
traits.Bool,
193194
[True, False],
194195
minlen=2,
195196
maxlen=2,

nipype/algorithms/tests/test_auto_ArtifactDetect.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,6 @@ def test_ArtifactDetect_inputs():
4848
xor=["norm_threshold"],
4949
),
5050
use_differences=dict(
51-
maxlen=2,
52-
minlen=2,
5351
usedefault=True,
5452
),
5553
use_norm=dict(

nipype/interfaces/ants/segmentation.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1328,7 +1328,8 @@ class JointFusionInputSpec(ANTSCommandInputSpec):
13281328
usedefault=True,
13291329
desc=("Constrain solution to non-negative weights."),
13301330
)
1331-
patch_radius = traits.ListInt(
1331+
patch_radius = traits.List(
1332+
traits.Int,
13321333
minlen=3,
13331334
maxlen=3,
13341335
argstr="-p %s",

nipype/interfaces/ants/tests/test_auto_JointFusion.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,6 @@ def test_JointFusion_inputs():
7070
),
7171
patch_radius=dict(
7272
argstr="-p %s",
73-
maxlen=3,
74-
minlen=3,
7573
),
7674
retain_atlas_voting_images=dict(
7775
argstr="-f",

nipype/interfaces/base/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
This module defines the API of all nipype interfaces.
88
99
"""
10-
from traits.trait_handlers import TraitDictObject, TraitListObject
10+
from traits.trait_dict_object import TraitDictObject
11+
from traits.trait_list_object import TraitListObject
1112
from traits.trait_errors import TraitError
1213

1314
from .core import (

nipype/interfaces/base/specs.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
from packaging.version import Version
1616

1717
from traits.trait_errors import TraitError
18-
from traits.trait_handlers import TraitDictObject, TraitListObject
18+
from traits.trait_dict_object import TraitDictObject
19+
from traits.trait_list_object import TraitListObject
1920
from ...utils.filemanip import md5, hash_infile, hash_timestamp
2021
from .traits_extension import (
2122
traits,

nipype/interfaces/dipy/base.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import os.path as op
44
import inspect
5+
from functools import partial
56
import numpy as np
67
from ..base import (
78
traits,
@@ -109,15 +110,15 @@ def convert_to_traits_type(dipy_type, is_file=False):
109110
dipy_type = dipy_type.lower()
110111
is_mandatory = bool("optional" not in dipy_type)
111112
if "variable" in dipy_type and "str" in dipy_type:
112-
return traits.ListStr, is_mandatory
113+
return partial(traits.List, traits.Str), is_mandatory
113114
elif "variable" in dipy_type and "int" in dipy_type:
114-
return traits.ListInt, is_mandatory
115+
return partial(traits.List, traits.Int), is_mandatory
115116
elif "variable" in dipy_type and "float" in dipy_type:
116-
return traits.ListFloat, is_mandatory
117+
return partial(traits.List, traits.Float), is_mandatory
117118
elif "variable" in dipy_type and "bool" in dipy_type:
118-
return traits.ListBool, is_mandatory
119+
return partial(traits.List, traits.Bool), is_mandatory
119120
elif "variable" in dipy_type and "complex" in dipy_type:
120-
return traits.ListComplex, is_mandatory
121+
return partial(traits.List, traits.Complex), is_mandatory
121122
elif "str" in dipy_type and not is_file:
122123
return traits.Str, is_mandatory
123124
elif "str" in dipy_type and is_file:

nipype/interfaces/dipy/tests/test_base.py

Lines changed: 27 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
def test_convert_to_traits_type():
1818
Params = namedtuple("Params", "traits_type is_file")
19-
Res = namedtuple("Res", "traits_type is_mandatory")
19+
Res = namedtuple("Res", "traits_type subtype is_mandatory")
2020
l_entries = [
2121
Params("variable string", False),
2222
Params("variable int", False),
@@ -42,35 +42,38 @@ def test_convert_to_traits_type():
4242
Params("complex, optional", False),
4343
]
4444
l_expected = [
45-
Res(traits.ListStr, True),
46-
Res(traits.ListInt, True),
47-
Res(traits.ListFloat, True),
48-
Res(traits.ListBool, True),
49-
Res(traits.ListComplex, True),
50-
Res(traits.ListInt, False),
51-
Res(traits.ListStr, False),
52-
Res(traits.ListFloat, False),
53-
Res(traits.ListBool, False),
54-
Res(traits.ListComplex, False),
55-
Res(traits.Str, True),
56-
Res(traits.Int, True),
57-
Res(File, True),
58-
Res(traits.Float, True),
59-
Res(traits.Bool, True),
60-
Res(traits.Complex, True),
61-
Res(traits.Str, False),
62-
Res(traits.Int, False),
63-
Res(File, False),
64-
Res(traits.Float, False),
65-
Res(traits.Bool, False),
66-
Res(traits.Complex, False),
45+
Res(traits.List, traits.Str, True),
46+
Res(traits.List, traits.Int, True),
47+
Res(traits.List, traits.Float, True),
48+
Res(traits.List, traits.Bool, True),
49+
Res(traits.List, traits.Complex, True),
50+
Res(traits.List, traits.Int, False),
51+
Res(traits.List, traits.Str, False),
52+
Res(traits.List, traits.Float, False),
53+
Res(traits.List, traits.Bool, False),
54+
Res(traits.List, traits.Complex, False),
55+
Res(traits.Str, None, True),
56+
Res(traits.Int, None, True),
57+
Res(File, None, True),
58+
Res(traits.Float, None, True),
59+
Res(traits.Bool, None, True),
60+
Res(traits.Complex, None, True),
61+
Res(traits.Str, None, False),
62+
Res(traits.Int, None, False),
63+
Res(File, None, False),
64+
Res(traits.Float, None, False),
65+
Res(traits.Bool, None, False),
66+
Res(traits.Complex, None, False),
6767
]
6868

6969
for entry, res in zip(l_entries, l_expected):
7070
traits_type, is_mandatory = convert_to_traits_type(
7171
entry.traits_type, entry.is_file
7272
)
73-
assert traits_type == res.traits_type
73+
trait_instance = traits_type()
74+
assert isinstance(trait_instance, res.traits_type)
75+
if res.subtype:
76+
assert isinstance(trait_instance.inner_traits()[0].trait_type, res.subtype)
7477
assert is_mandatory == res.is_mandatory
7578

7679
with pytest.raises(IOError):

nipype/interfaces/mrtrix3/preprocess.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,9 @@ class MRDeGibbsInputSpec(MRTrix3BaseInputSpec):
9999
mandatory=True,
100100
desc="input DWI image",
101101
)
102-
axes = traits.ListInt(
103-
default_value=[0, 1],
102+
axes = traits.List(
103+
traits.Int,
104+
[0, 1],
104105
usedefault=True,
105106
sep=",",
106107
minlen=2,

nipype/interfaces/mrtrix3/tests/test_auto_MRDeGibbs.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ def test_MRDeGibbs_inputs():
99
),
1010
axes=dict(
1111
argstr="-axes %s",
12-
maxlen=2,
13-
minlen=2,
1412
sep=",",
1513
usedefault=True,
1614
),

0 commit comments

Comments
 (0)