Source code for pyavs.config.dirs
"""Convenience namespace for resolved AVS directory paths."""
from types import SimpleNamespace
[docs]
def get_dirs() -> SimpleNamespace:
"""Return a namespace of resolved AVS data directories.
All paths are derived from the configured ``avs-public`` root (set via
``pyavs.configure()`` or the ``PYAVS_DATA_PATH`` env var).
Returns
-------
SimpleNamespace
Attributes: ``root``, ``stimuli``, ``derivatives``, ``subjects_dir``.
All are ``None`` if no data path is configured.
Examples
--------
>>> import pyavs
>>> pyavs.configure('/path/to/avs-public')
>>> d = pyavs.dirs()
>>> d.stimuli
'/path/to/avs-public/stimuli'
>>> d.subjects_dir
'/path/to/avs-public/derivatives/freesurfer'
"""
from pyavs.config.manager import get_config
cfg = get_config().config
layout = cfg.get_layout()
if layout is None:
return SimpleNamespace(root=None, stimuli=None, derivatives=None,
subjects_dir=None)
return SimpleNamespace(
root=str(layout.root),
stimuli=str(layout.stimuli_dir),
derivatives=str(layout.derivatives_root),
subjects_dir=str(layout.subjects_dir),
)