Skip to content

Commit 632c1f1

Browse files
committed
multiple fixes for python 3 compatibility
- added from __future__ import ... to all files - removed dependency on six - cleaned up imports - used only relative explicit imports
1 parent 0a3ee98 commit 632c1f1

File tree

150 files changed

+640
-756
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

150 files changed

+640
-756
lines changed

build_docs.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
99
python setup.py build_sphinx
1010
"""
11-
from __future__ import print_function, unicode_literals
11+
from __future__ import print_function, division, unicode_literals, absolute_import
1212
from builtins import open, str
1313

1414
# Standard library imports

nipype/__init__.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,28 @@
11
# -*- coding: utf-8 -*-
22
# emacs: -*- mode: python; py-indent-offset: 4; indent-tabs-mode: nil -*-
33
# vi: set ft=python sts=4 ts=4 sw=4 et:
4-
from __future__ import absolute_import
4+
from __future__ import print_function, division, unicode_literals, absolute_import
55

66
import os
7+
from distutils.version import LooseVersion
78

89
from .info import (LONG_DESCRIPTION as __doc__,
910
URL as __url__,
1011
STATUS as __status__,
1112
__version__)
1213
from .utils.config import NipypeConfig
13-
config = NipypeConfig()
14-
from .utils.logger import Logging
15-
logging = Logging(config)
16-
17-
from distutils.version import LooseVersion
18-
1914
from .fixes.numpy.testing import nosetester
15+
from .utils.logger import Logging
2016

2117
try:
2218
import faulthandler
2319
faulthandler.enable()
24-
except (ImportError,IOError) as e:
20+
except (ImportError, IOError) as e:
2521
pass
2622

23+
config = NipypeConfig()
24+
logging = Logging(config)
25+
2726

2827
class _NoseTester(nosetester.NoseTester):
2928
""" Subclass numpy's NoseTester to add doctests by default

nipype/algorithms/icc.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
# -*- coding: utf-8 -*-
2-
from __future__ import division
2+
from __future__ import print_function, division, unicode_literals, absolute_import
33
from builtins import range
4+
import os
5+
import numpy as np
46
from numpy import ones, kron, mean, eye, hstack, dot, tile
7+
import nibabel as nb
58
from scipy.linalg import pinv
69
from ..interfaces.base import BaseInterfaceInputSpec, TraitedSpec, \
710
BaseInterface, traits, File
8-
import nibabel as nb
9-
import numpy as np
10-
import os
1111

1212

1313
class ICCInputSpec(BaseInterfaceInputSpec):

nipype/algorithms/mesh.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,14 @@
1212
>>> os.chdir(datadir)
1313
1414
"""
15-
from __future__ import division
15+
from __future__ import print_function, division, unicode_literals, absolute_import
16+
from builtins import zip, str, bytes
1617

1718
import os.path as op
1819
import numpy as np
1920
from numpy import linalg as nla
2021

21-
from builtins import zip
22-
2322
from .. import logging
24-
from six import string_types
2523
from ..interfaces.base import (BaseInterface, traits, TraitedSpec, File,
2624
BaseInterfaceInputSpec)
2725
from ..interfaces.vtkbase import tvtk
@@ -325,7 +323,7 @@ def _run_interface(self, runtime):
325323
operator = self.inputs.operator
326324
opfield = np.ones_like(points1)
327325

328-
if isinstance(operator, string_types):
326+
if isinstance(operator, (str, bytes)):
329327
r2 = tvtk.PolyDataReader(file_name=self.inputs.surface2)
330328
vtk2 = VTKInfo.vtk_output(r2)
331329
r2.update()

nipype/algorithms/metrics.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,8 @@
1212
>>> os.chdir(datadir)
1313
1414
'''
15-
from __future__ import division
16-
from builtins import zip
17-
from builtins import range
15+
from __future__ import print_function, division, unicode_literals, absolute_import
16+
from builtins import zip, range
1817

1918
import os
2019
import os.path as op

nipype/algorithms/misc.py

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,8 @@
1111
>>> os.chdir(datadir)
1212
1313
'''
14-
from __future__ import print_function
15-
from __future__ import absolute_import
16-
from __future__ import division
17-
from builtins import str
18-
from builtins import zip
19-
from builtins import range
14+
from __future__ import print_function, division, unicode_literals, absolute_import
15+
from builtins import str, zip, range
2016
from future.utils import raise_from
2117

2218
import os
@@ -30,17 +26,15 @@
3026
import scipy.io as sio
3127
import itertools
3228
import scipy.stats as stats
33-
34-
from nipype import logging
35-
3629
import warnings
3730

31+
from .. import logging
3832
from . import metrics as nam
3933
from ..interfaces.base import (BaseInterface, traits, TraitedSpec, File,
4034
InputMultiPath, OutputMultiPath,
4135
BaseInterfaceInputSpec, isdefined,
4236
DynamicTraitedSpec, Undefined)
43-
from nipype.utils.filemanip import fname_presuffix, split_filename
37+
from ..utils.filemanip import fname_presuffix, split_filename
4438
iflogger = logging.getLogger('interface')
4539

4640

nipype/algorithms/modelgen.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,8 @@
1818
>>> os.chdir(datadir)
1919
2020
"""
21-
22-
from __future__ import division
23-
from builtins import range
21+
from __future__ import print_function, division, unicode_literals, absolute_import
22+
from builtins import range, str, bytes
2423

2524
from copy import deepcopy
2625
import os
@@ -29,7 +28,6 @@
2928
import numpy as np
3029
from scipy.special import gammaln
3130

32-
from six import string_types
3331
from ..interfaces.base import (BaseInterface, TraitedSpec, InputMultiPath,
3432
traits, File, Bunch, BaseInterfaceInputSpec,
3533
isdefined)
@@ -458,7 +456,7 @@ def _concatenate_info(self, infolist):
458456
for i, f in enumerate(self.inputs.functional_runs):
459457
if isinstance(f, list):
460458
numscans = len(f)
461-
elif isinstance(f, string_types):
459+
elif isinstance(f, (str, bytes)):
462460
img = load(f)
463461
numscans = img.shape[3]
464462
else:

nipype/algorithms/rapidart.py

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,8 @@
1818
>>> datadir = os.path.realpath(os.path.join(filepath, '../testing/data'))
1919
>>> os.chdir(datadir)
2020
"""
21-
22-
from __future__ import division
23-
from __future__ import unicode_literals
24-
from builtins import open, range
21+
from __future__ import print_function, division, unicode_literals, absolute_import
22+
from builtins import open, range, str, bytes
2523

2624
import os
2725
from copy import deepcopy
@@ -31,7 +29,6 @@
3129
from scipy import signal
3230
import scipy.io as sio
3331

34-
from six import string_types
3532
from ..interfaces.base import (BaseInterface, traits, InputMultiPath,
3633
OutputMultiPath, TraitedSpec, File,
3734
BaseInterfaceInputSpec, isdefined)
@@ -283,7 +280,7 @@ def _get_output_filenames(self, motionfile, output_dir):
283280
output_dir: string
284281
output directory in which the files will be generated
285282
"""
286-
if isinstance(motionfile, string_types):
283+
if isinstance(motionfile, (str, bytes)):
287284
infile = motionfile
288285
elif isinstance(motionfile, list):
289286
infile = motionfile[0]
@@ -354,7 +351,7 @@ def _detect_outliers_core(self, imgfile, motionfile, runidx, cwd=None):
354351
cwd = os.getcwd()
355352

356353
# read in functional image
357-
if isinstance(imgfile, string_types):
354+
if isinstance(imgfile, (str, bytes)):
358355
nim = load(imgfile)
359356
elif isinstance(imgfile, list):
360357
if len(imgfile) == 1:

nipype/caching/memory.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@
99
>>> datadir = os.path.realpath(os.path.join(filepath, '../testing/data'))
1010
>>> os.chdir(datadir)
1111
"""
12-
13-
from __future__ import print_function
12+
from __future__ import print_function, division, unicode_literals, absolute_import
1413
from builtins import object
1514

1615
import os

nipype/external/portalocker.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,8 @@
4949
Version: $Id: portalocker.py 5474 2008-05-16 20:53:50Z lowell $
5050
5151
'''
52-
from __future__ import print_function
53-
from __future__ import absolute_import
54-
52+
from __future__ import print_function, division, unicode_literals, absolute_import
53+
from builtins import open
5554

5655
__all__ = [
5756
'lock',
@@ -132,11 +131,9 @@ def unlock(file):
132131

133132
log = open('log.txt', 'a+')
134133
portalocker.lock(log, portalocker.LOCK_EX)
135-
136134
timestamp = strftime('%m/%d/%Y %H:%M:%S\n', localtime(time()))
137135
log.write(timestamp)
138136

139137
print('Wrote lines. Hit enter to release lock.')
140138
dummy = sys.stdin.readline()
141-
142139
log.close()

nipype/fixes/numpy/testing/nosetester.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,12 @@
55
This module implements ``test()`` and ``bench()`` functions for NumPy modules.
66
77
"""
8-
9-
from __future__ import print_function
10-
from __future__ import absolute_import
11-
from builtins import object
8+
from __future__ import print_function, division, unicode_literals, absolute_import
9+
from builtins import object, str, bytes
1210

1311
import os
1412
import sys
1513

16-
from six import string_types
17-
1814

1915
def get_package_name(filepath):
2016
"""
@@ -177,7 +173,7 @@ def _test_argv(self, label, verbose, extra_argv):
177173
'''
178174
argv = [__file__, self.package_path, '-s']
179175
if label and label != 'full':
180-
if not isinstance(label, string_types):
176+
if not isinstance(label, (str, bytes)):
181177
raise TypeError('Selection label should be a string')
182178
if label == 'fast':
183179
label = 'not slow'

nipype/info.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
settings in setup.py, the nipy top-level docstring, and for building the
33
docs. In setup.py in particular, we exec this file, so it cannot import nipy
44
"""
5+
from __future__ import print_function, division, unicode_literals, absolute_import
56

67

78
# nipype version information. An empty _version_extra corresponds to a

nipype/interfaces/__init__.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@
66
77
Requires Packages to be installed
88
"""
9-
10-
from __future__ import absolute_import
9+
from __future__ import print_function, division, unicode_literals, absolute_import
1110
__docformat__ = 'restructuredtext'
1211

1312
from .io import DataGrabber, DataSink, SelectFiles

nipype/interfaces/afni/base.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@
22
# emacs: -*- mode: python; py-indent-offset: 4; indent-tabs-mode: nil -*-
33
# vi: set ft=python sts=4 ts=4 sw=4 et:
44
"""Provide interface to AFNI commands."""
5+
from __future__ import print_function, division, unicode_literals, absolute_import
6+
from builtins import object, str, bytes
7+
from future.utils import raise_from
58

69
import os
710
from sys import platform
8-
from builtins import object
9-
from future.utils import raise_from
1011

1112
from ... import logging
1213
from ...utils.filemanip import split_filename

nipype/interfaces/afni/preprocess.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,20 @@
99
>>> datadir = os.path.realpath(os.path.join(filepath, '../../testing/data'))
1010
>>> os.chdir(datadir)
1111
"""
12-
from __future__ import unicode_literals
13-
from builtins import open
12+
from __future__ import print_function, division, unicode_literals, absolute_import
13+
from builtins import open, str, bytes
1414

1515
import os
1616
import os.path as op
1717
import re
1818
import numpy as np
19-
from six import string_types
2019

21-
from nipype.utils.filemanip import (load_json, save_json, split_filename)
22-
from nipype.interfaces.base import (
20+
from ...utils.filemanip import (load_json, save_json, split_filename)
21+
from ..base import (
2322
CommandLineInputSpec, CommandLine, Directory, TraitedSpec,
2423
traits, isdefined, File, InputMultiPath, Undefined)
2524

26-
from nipype.interfaces.afni.base import (
25+
from .base import (
2726
AFNICommandBase, AFNICommand, AFNICommandInputSpec, AFNICommandOutputSpec,
2827
Info, no_afni)
2928

@@ -2856,7 +2855,7 @@ def _format_arg(self, name, trait_spec, value):
28562855
return None
28572856
elif isinstance(value, tuple):
28582857
return trait_spec.argstr + ' %s %f' % value
2859-
elif isinstance(value, string_types):
2858+
elif isinstance(value, (str, bytes)):
28602859
return trait_spec.argstr + ' ' + value
28612860
return super(FWHMx, self)._format_arg(name, trait_spec, value)
28622861

@@ -2878,7 +2877,7 @@ def _list_outputs(self):
28782877
sout = tuple(sout[0])
28792878

28802879
outputs['out_acf'] = op.abspath('3dFWHMx.1D')
2881-
if isinstance(self.inputs.acf, string_types):
2880+
if isinstance(self.inputs.acf, (str, bytes)):
28822881
outputs['out_acf'] = op.abspath(self.inputs.acf)
28832882

28842883
outputs['fwhm'] = tuple(sout)

nipype/interfaces/afni/svm.py

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,10 @@
99
>>> datadir = os.path.realpath(os.path.join(filepath, '../../testing/data'))
1010
>>> os.chdir(datadir)
1111
"""
12-
import os
13-
import re
14-
15-
from ..base import (Directory, TraitedSpec,
16-
traits, isdefined, File, InputMultiPath, Undefined)
17-
from ...utils.filemanip import (load_json, save_json, split_filename)
18-
from nipype.utils.filemanip import fname_presuffix
19-
from .base import AFNICommand, AFNICommandInputSpec,\
20-
AFNICommandOutputSpec
21-
from nipype.interfaces.base import CommandLineInputSpec, CommandLine,\
22-
OutputMultiPath
23-
24-
from warnings import warn
12+
from __future__ import print_function, division, unicode_literals, absolute_import
13+
14+
from ..base import TraitedSpec, traits, File
15+
from .base import AFNICommand, AFNICommandInputSpec, AFNICommandOutputSpec
2516

2617

2718
class SVMTrainInputSpec(AFNICommandInputSpec):

nipype/interfaces/ants/base.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,11 @@
22
# emacs: -*- mode: python; py-indent-offset: 4; indent-tabs-mode: nil -*-
33
# vi: set ft=python sts=4 ts=4 sw=4 et:
44
"""The ants module provides basic functions for interfacing with ANTS tools."""
5-
5+
from __future__ import print_function, division, unicode_literals, absolute_import
6+
from builtins import str
67
# Local imports
7-
from ..base import (CommandLine, CommandLineInputSpec, traits,
8-
isdefined)
9-
108
from ... import logging
9+
from ..base import CommandLine, CommandLineInputSpec, traits, isdefined
1110
logger = logging.getLogger('interface')
1211

1312
# -Using -1 gives primary responsibilty to ITKv4 to do the correct

0 commit comments

Comments
 (0)