Source code for threeML.data_list

# Author: G.Vianello (giacomov@stanford.edu)

import collections


[docs] class DataList(object): """ A container for data sets. Can be accessed as a dictionary, with the [key] operator. """ def __init__(self, *data_sets): """ Container for data sets (i.e., plugin instances) :param data_sets: as many data sets as needed :return: (none) """ self._inner_dictionary = collections.OrderedDict() for d in data_sets: if d.name in self._inner_dictionary.keys(): raise RuntimeError( "You have to use unique names for data sets. %s already exists." % (d.name) ) else: self._inner_dictionary[d.name] = d
[docs] def insert(self, dataset): # Enforce the unique name if dataset.name in self.keys(): raise RuntimeError( "You have to use unique names for data sets. %s already exists." % dataset.name ) else: self._inner_dictionary[dataset.name] = dataset
def __getitem__(self, key): return self._inner_dictionary[key]
[docs] def keys(self): return self._inner_dictionary.keys()
[docs] def values(self): return self._inner_dictionary.values()