4
4
import os
5
5
from distutils .version import LooseVersion
6
6
7
- from .info import (LONG_DESCRIPTION as __doc__ , URL as __url__ , STATUS as
8
- __status__ , __version__ )
7
+ from .info import (
8
+ LONG_DESCRIPTION as __doc__ ,
9
+ URL as __url__ ,
10
+ STATUS as __status__ ,
11
+ __version__ ,
12
+ )
9
13
from .utils .config import NipypeConfig
10
14
from .utils .logger import Logging
11
15
from .refs import due
12
16
from .pkg_info import get_pkg_info as _get_pkg_info
13
17
14
18
try :
15
19
import faulthandler
20
+
16
21
faulthandler .enable ()
17
22
except (ImportError , IOError ) as e :
18
23
pass
@@ -26,18 +31,16 @@ def __call__(self, doctests=True, parallel=False):
26
31
try :
27
32
import pytest
28
33
except ImportError :
29
- raise RuntimeError (
30
- 'py.test not installed, run: pip install pytest' )
34
+ raise RuntimeError ("py.test not installed, run: pip install pytest" )
31
35
args = []
32
36
if not doctests :
33
- args .extend (['-p' , ' no:doctest' ])
37
+ args .extend (["-p" , " no:doctest" ])
34
38
if parallel :
35
39
try :
36
40
import xdist
37
41
except ImportError :
38
- raise RuntimeError (
39
- "pytest-xdist required for parallel run" )
40
- args .append ('-n auto' )
42
+ raise RuntimeError ("pytest-xdist required for parallel run" )
43
+ args .append ("-n auto" )
41
44
args .append (os .path .dirname (__file__ ))
42
45
pytest .main (args = args )
43
46
@@ -51,8 +54,16 @@ def get_info():
51
54
52
55
53
56
from .pipeline import Node , MapNode , JoinNode , Workflow
54
- from .interfaces import (DataGrabber , DataSink , SelectFiles , IdentityInterface ,
55
- Rename , Function , Select , Merge )
57
+ from .interfaces import (
58
+ DataGrabber ,
59
+ DataSink ,
60
+ SelectFiles ,
61
+ IdentityInterface ,
62
+ Rename ,
63
+ Function ,
64
+ Select ,
65
+ Merge ,
66
+ )
56
67
57
68
58
69
def check_latest_version (raise_exception = False ):
@@ -63,11 +74,12 @@ def check_latest_version(raise_exception=False):
63
74
Raise a RuntimeError if a bad version is being used
64
75
"""
65
76
import etelemetry
66
- logger = logging .getLogger ('nipype.utils' )
77
+
78
+ logger = logging .getLogger ("nipype.utils" )
67
79
68
80
INIT_MSG = "Running {packname} version {version} (latest: {latest})" .format
69
81
70
- latest = {"version" : ' Unknown' , "bad_versions" : []}
82
+ latest = {"version" : " Unknown" , "bad_versions" : []}
71
83
result = None
72
84
try :
73
85
result = etelemetry .get_project ("nipy/nipype" )
@@ -77,24 +89,34 @@ def check_latest_version(raise_exception=False):
77
89
if result :
78
90
latest .update (** result )
79
91
if LooseVersion (__version__ ) != LooseVersion (latest ["version" ]):
80
- logger .info (INIT_MSG (packname = 'nipype' ,
81
- version = __version__ ,
82
- latest = latest ["version" ]))
83
- if latest ["bad_versions" ] and \
84
- any ([LooseVersion (__version__ ) == LooseVersion (ver )
85
- for ver in latest ["bad_versions" ]]):
86
- message = ('You are using a version of Nipype with a critical '
87
- 'bug. Please use a different version.' )
92
+ logger .info (
93
+ INIT_MSG (
94
+ packname = "nipype" , version = __version__ , latest = latest ["version" ]
95
+ )
96
+ )
97
+ if latest ["bad_versions" ] and any (
98
+ [
99
+ LooseVersion (__version__ ) == LooseVersion (ver )
100
+ for ver in latest ["bad_versions" ]
101
+ ]
102
+ ):
103
+ message = (
104
+ "You are using a version of Nipype with a critical "
105
+ "bug. Please use a different version."
106
+ )
88
107
if raise_exception :
89
108
raise RuntimeError (message )
90
109
else :
91
110
logger .critical (message )
92
111
return latest
93
112
113
+
94
114
# Run telemetry on import for interactive sessions, such as IPython, Jupyter notebooks, Python REPL
95
- if config .getboolean (' execution' , ' check_version' ):
115
+ if config .getboolean (" execution" , " check_version" ):
96
116
import __main__
97
- if not hasattr (__main__ , '__file__' ):
117
+
118
+ if not hasattr (__main__ , "__file__" ):
98
119
from .interfaces .base import BaseInterface
120
+
99
121
if BaseInterface ._etelemetry_version_data is None :
100
122
BaseInterface ._etelemetry_version_data = check_latest_version ()
0 commit comments