import pickle


def load_dcsm_pickle(pickle_path, **kwargs):
    """
    File loader function for .picle extension files.
    Used only for the DCSM (private) dataset.
    A dictionary representation of the pickled data is returned, but actual
    data is loaded in the extract function
    (see utime.io.extractors.psg_extractors).

    Returns:
        A DCSMDict dictionary
    """
    class DCSMDict(dict): pass  # We define a recognizably named type
    with open(pickle_path, "rb") as in_f:
        signal_pairs = pickle.load(in_f)
    return DCSMDict(signal_pairs)