diff --git a/km3io/offline.py b/km3io/offline.py index b83eb25db754c042b9a20a106b0a75550a6c86c4..6d242cba07075275f34112d47cb235b054d3489a 100644 --- a/km3io/offline.py +++ b/km3io/offline.py @@ -88,7 +88,7 @@ class cached_property: class OfflineReader: """reader for offline ROOT files""" - def __init__(self, file_path=None, fobj=None, data=None, index=None): + def __init__(self, file_path=None): """ OfflineReader class is an offline ROOT file wrapper Parameters @@ -98,49 +98,15 @@ class OfflineReader: path-like object that points to the file. """ - self._index = index - if file_path is not None: - self._fobj = uproot.open(file_path) - self._tree = self._fobj[MAIN_TREE_NAME] - self._data = self._tree.lazyarrays(basketcache=BASKET_CACHE) - else: - self._fobj = fobj - self._tree = self._fobj[MAIN_TREE_NAME] - self._data = data + self._fobj = uproot.open(file_path) + self._tree = self._fobj[MAIN_TREE_NAME] @cached_property def events(self): return Branch(self._tree, mapper=EVENTS_MAP, - index=self._index, subbranchmaps=SUBBRANCH_MAPS) - @classmethod - def from_index(cls, source, index): - """Create an instance with a subtree of a given index - - Parameters - ---------- - source: ROOTDirectory - The source file object. - index: index or slice - The index or slice to create the subtree. - """ - instance = cls(fobj=source._fobj, - data=source._data[index], - index=index) - return instance - - def __getitem__(self, index): - return OfflineReader.from_index(source=self, index=index) - - def __len__(self): - tree = self._fobj[MAIN_TREE_NAME] - if self._index is None: - return len(tree) - else: - return len(tree.lazyarrays(basketcache=BASKET_CACHE)[self.index]) - @cached_property def header(self): if 'Head' in self._fobj: diff --git a/tests/test_offline.py b/tests/test_offline.py index 33b8cf192985d8a625fd0739a6c92674e45e762f..3d318004969ba380a678f08fa94b9f70163f8fe4 100644 --- a/tests/test_offline.py +++ b/tests/test_offline.py @@ -14,13 +14,10 @@ class TestOfflineReader(unittest.TestCase): def setUp(self): self.r = OFFLINE_FILE self.nu = OFFLINE_NUMUCC - self.Nevents = 10 + self.n_events = 10 def test_number_events(self): - Nevents = len(self.r) - - # check that there are 10 events - self.assertEqual(Nevents, self.Nevents) + assert self.n_events == len(self.r.events) def test_find_empty(self): fitinf = self.nu.events.tracks.fitinf