Skip to content

Commit 6d2b323

Browse files
ENH: don't require SUBJECTS_DIR at import
1 parent 1be7285 commit 6d2b323

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

surfer/utils.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -338,13 +338,16 @@ def coord_to_label(subject_id, coord, label, hemi='lh', n_steps=30,
338338
f.write('%d %f %f %f 0.000000\n' % (i, x, y, z))
339339

340340

341-
def _get_subjects_dir(subjects_dir=None):
341+
def _get_subjects_dir(subjects_dir=None, raise_error=True):
342342
"""Get the subjects directory from parameter or environment variable
343343
344344
Parameters
345345
----------
346346
subjects_dir : str | None
347347
The subjects directory.
348+
raise_error : bool
349+
If True, raise a ValueError if no value for SUBJECTS_DIR can be found
350+
or the corresponding directory does not exist.
348351
349352
Returns
350353
-------
@@ -359,13 +362,13 @@ def _get_subjects_dir(subjects_dir=None):
359362
subjects_dir = os.environ['SUBJECTS_DIR']
360363
else:
361364
subjects_dir = config.get('options', 'subjects_dir')
362-
if subjects_dir == '':
365+
if raise_error and subjects_dir == '':
363366
raise ValueError('The subjects directory has to be specified '
364367
'using the subjects_dir parameter, the '
365368
'SUBJECTS_DIR environment variable, or the '
366369
'"subjects_dir" entry in the config file')
367370

368-
if not os.path.exists(subjects_dir):
371+
if raise_error and not os.path.exists(subjects_dir):
369372
raise ValueError('The subjects directory %s does not exist.'
370373
% subjects_dir)
371374

@@ -374,7 +377,7 @@ def _get_subjects_dir(subjects_dir=None):
374377

375378
def has_fsaverage(subjects_dir=None):
376379
"""Determine whether the user has a usable fsaverage"""
377-
fs_dir = op.join(_get_subjects_dir(subjects_dir), 'fsaverage')
380+
fs_dir = op.join(_get_subjects_dir(subjects_dir, False), 'fsaverage')
378381
if not op.isdir(fs_dir):
379382
return False
380383
if not op.isdir(op.join(fs_dir, 'surf')):

0 commit comments

Comments
 (0)