|
10 | 10 |
|
11 | 11 | load_data = Loader(__package__) |
12 | 12 |
|
| 13 | + |
| 14 | +def _env_to_bool(envvar: str, default: bool) -> bool: |
| 15 | + """Check for environment variable switches and convert to booleans.""" |
| 16 | + switches = { |
| 17 | + 'on': {'true', 'on', '1', 'yes', 'y'}, |
| 18 | + 'off': {'false', 'off', '0', 'no', 'n'}, |
| 19 | + } |
| 20 | + |
| 21 | + val = getenv(envvar, default) |
| 22 | + if isinstance(val, str): |
| 23 | + if val.lower() in switches['on']: |
| 24 | + return True |
| 25 | + elif val.lower() in switches['off']: |
| 26 | + return False |
| 27 | + else: |
| 28 | + # TODO: Create templateflow logger |
| 29 | + print( |
| 30 | + f'{envvar} is set to unknown value <{val}>. ' |
| 31 | + f'Falling back to default value <{default}>' |
| 32 | + ) |
| 33 | + return default |
| 34 | + return bool(val) |
| 35 | + |
| 36 | + |
13 | 37 | TF_DEFAULT_HOME = Path.home() / '.cache' / 'templateflow' |
14 | 38 | TF_HOME = Path(getenv('TEMPLATEFLOW_HOME', str(TF_DEFAULT_HOME))) |
15 | 39 | TF_GITHUB_SOURCE = 'https://github.com/templateflow/templateflow.git' |
16 | 40 | TF_S3_ROOT = 'https://templateflow.s3.amazonaws.com' |
17 | | -TF_USE_DATALAD = getenv('TEMPLATEFLOW_USE_DATALAD', 'false').lower() in ( |
18 | | - 'true', |
19 | | - 'on', |
20 | | - '1', |
21 | | - 'yes', |
22 | | - 'y', |
23 | | -) |
| 41 | +TF_USE_DATALAD = _env_to_bool('TEMPLATEFLOW_USE_DATALAD', False) |
| 42 | +TF_AUTOUPDATE = _env_to_bool('TEMPLATEFLOW_AUTOUPDATE', True) |
24 | 43 | TF_CACHED = True |
25 | 44 | TF_GET_TIMEOUT = 10 |
26 | 45 |
|
@@ -50,7 +69,7 @@ def _init_cache(): |
50 | 69 | if not TF_USE_DATALAD: |
51 | 70 | from ._s3 import update as _update_s3 |
52 | 71 |
|
53 | | - _update_s3(TF_HOME, local=True, overwrite=True) |
| 72 | + _update_s3(TF_HOME, local=True, overwrite=TF_AUTOUPDATE, silent=True) |
54 | 73 |
|
55 | 74 |
|
56 | 75 | _init_cache() |
|
0 commit comments