def items(self): scales = [] def f(dsid): scales.append(dsid) h5ds.iterate(self._id, self._dimension, f, 0) return [ (self._d(h5ds.get_scale_name(id)), Dataset(id)) for id in scales ]
def items(self): scales = [] def f(dsid): scales.append(dsid) h5ds.iterate(self._id, self._dimension, f, 0) return [(self._d(h5ds.get_scale_name(id)), Dataset(id)) for id in scales]
def items(self): with phil: scales = [] def f(dsid): scales.append(dsid) # H5DSiterate raises an error if there are no dimension scales, # rather than iterating 0 times. See #483. if len(self) > 0: h5ds.iterate(self._id, self._dimension, f, 0) return [ (self._d(h5ds.get_scale_name(id)), Dataset(id)) for id in scales ]
def __getitem__(self, item): if isinstance(item, int): scales = [] def f(dsid): scales.append(Dataset(dsid)) h5ds.iterate(self._id, self._dimension, f, 0) return scales[item] else: def f(dsid): if h5ds.get_scale_name(dsid) == self._e(item): return Dataset(dsid) res = h5ds.iterate(self._id, self._dimension, f, 0) if res is None: raise KeyError('%s not found' % item) return res