Source code for abed.datasets

"""Helper functions for dealing with datasets

This file contains a helper function for dealing with dataset names.

"""


import os

from .conf import settings

basename = os.path.basename
splitext = os.path.splitext


[docs]def dataset_name(dset): """Get the dataset name for a given dataset The user has the option to specify alternative names for datasets in the :setting:`DATASETS` configuration setting, through the :setting:`DATASET_NAMES` variable. This function can be used to get the name of the dataset when the :setting:`DATASET_NAMES` variable is specified or not. If the setting is not specified, a name is created by stripping any extensions from the dataset specified. In case the dataset is a tuple, the names of the datasets are combined. Parameters ---------- dset : str, tuple The dataset from the :setting:`DATASETS` configuration. Returns ------- name : str The name of the dataset """ if "DATASET_NAMES" in settings.__dict__: name = settings.DATASET_NAMES.get(dset, None) if not name is None: return name if isinstance(dset, tuple): txt = "" for name in dset: bname = basename(name) exts = splitext(bname) start = exts[0] txt += start + "_" txt = txt.rstrip("_") else: bname = basename(dset) exts = splitext(bname) start = exts[0] txt = start return txt