Skip to content

Commit 9c5d64b

Browse files
committed
enh: memoize with global
1 parent df34182 commit 9c5d64b

File tree

1 file changed

+4
-10
lines changed

1 file changed

+4
-10
lines changed

nipype/__init__.py

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -59,24 +59,17 @@ def get_info():
5959
from .interfaces import (DataGrabber, DataSink, SelectFiles, IdentityInterface,
6060
Rename, Function, Select, Merge)
6161

62+
etelemetry_results = {}
6263

63-
def sys_based_cache(condition):
64-
def decorator(func):
65-
if condition:
66-
return func
67-
else:
68-
return functools.lru_cache()(func)
69-
return decorator
70-
71-
72-
@sys_based_cache(sys.version_info < (3,))
7364
def check_latest_version(raise_exception=False):
7465
"""Check for the latest version of the library
7566
7667
parameters:
7768
raise_exception: boolean
7869
Raise a RuntimeError if a bad version is being used
7970
"""
71+
if raise_exception in etelemetry_results:
72+
return etelemetry_results[raise_exception]
8073

8174
import etelemetry
8275
logger = logging.getLogger('nipype.utils')
@@ -105,6 +98,7 @@ def check_latest_version(raise_exception=False):
10598
raise RuntimeError(message)
10699
else:
107100
logger.critical(message)
101+
etelemetry_results[raise_exception] = latest
108102
return latest
109103

110104
# Run telemetry on import for interactive sessions, such as IPython, Jupyter notebooks, Python REPL

0 commit comments

Comments
 (0)