55 absolute_import )
66
77import os
8- import functools
9- import sys
108from distutils .version import LooseVersion
119
1210from .info import (LONG_DESCRIPTION as __doc__ , URL as __url__ , STATUS as
@@ -59,7 +57,6 @@ def get_info():
5957from .interfaces import (DataGrabber , DataSink , SelectFiles , IdentityInterface ,
6058 Rename , Function , Select , Merge )
6159
62- etelemetry_results = {}
6360
6461def check_latest_version (raise_exception = False ):
6562 """Check for the latest version of the library
@@ -68,9 +65,6 @@ def check_latest_version(raise_exception=False):
6865 raise_exception: boolean
6966 Raise a RuntimeError if a bad version is being used
7067 """
71- if raise_exception in etelemetry_results :
72- return etelemetry_results [raise_exception ]
73-
7468 import etelemetry
7569 logger = logging .getLogger ('nipype.utils' )
7670
@@ -98,12 +92,14 @@ def check_latest_version(raise_exception=False):
9892 raise RuntimeError (message )
9993 else :
10094 logger .critical (message )
101- etelemetry_results [raise_exception ] = latest
95+ else :
96+ latest = None
10297 return latest
10398
10499# Run telemetry on import for interactive sessions, such as IPython, Jupyter notebooks, Python REPL
105100if config .getboolean ('execution' , 'check_version' ):
106101 import __main__
107102 if not hasattr (__main__ , '__file__' ):
108103 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