5
5
absolute_import )
6
6
7
7
import os
8
- import functools
9
- import sys
10
8
from distutils .version import LooseVersion
11
9
12
10
from .info import (LONG_DESCRIPTION as __doc__ , URL as __url__ , STATUS as
@@ -59,7 +57,6 @@ def get_info():
59
57
from .interfaces import (DataGrabber , DataSink , SelectFiles , IdentityInterface ,
60
58
Rename , Function , Select , Merge )
61
59
62
- etelemetry_results = {}
63
60
64
61
def check_latest_version (raise_exception = False ):
65
62
"""Check for the latest version of the library
@@ -68,9 +65,6 @@ def check_latest_version(raise_exception=False):
68
65
raise_exception: boolean
69
66
Raise a RuntimeError if a bad version is being used
70
67
"""
71
- if raise_exception in etelemetry_results :
72
- return etelemetry_results [raise_exception ]
73
-
74
68
import etelemetry
75
69
logger = logging .getLogger ('nipype.utils' )
76
70
@@ -98,12 +92,14 @@ def check_latest_version(raise_exception=False):
98
92
raise RuntimeError (message )
99
93
else :
100
94
logger .critical (message )
101
- etelemetry_results [raise_exception ] = latest
95
+ else :
96
+ latest = None
102
97
return latest
103
98
104
99
# Run telemetry on import for interactive sessions, such as IPython, Jupyter notebooks, Python REPL
105
100
if config .getboolean ('execution' , 'check_version' ):
106
101
import __main__
107
102
if not hasattr (__main__ , '__file__' ):
108
103
from .interfaces .base import BaseInterface
109
- BaseInterface .check_version = check_latest_version ()
104
+ if BaseInterface ._etelemetry_version_data is None :
105
+ BaseInterface ._etelemetry_version_data = check_latest_version ()
0 commit comments