Skip to content
Snippets Groups Projects

WIP: Slicing and refactoring offline

Closed Tamas Gal requested to merge 37-user-parameters-seem-to-be-transposed into master
Compare and Show latest version
2 files
+ 26
10
Compare changes
  • Side-by-side
  • Inline
Files
2
+ 11
5
@@ -266,14 +266,17 @@ class Branch:
@@ -266,14 +266,17 @@ class Branch:
return object.__getattribute__(self, attr)
return object.__getattribute__(self, attr)
if attr in self._keymap.keys(): # intercept branch key lookups
if attr in self._keymap.keys(): # intercept branch key lookups
out = self._branch[self._keymap[attr]].lazyarray(
return self.__getkey__(attr)
basketcache=BASKET_CACHE)
if self._index is not None:
out = out[self._index]
return out
return object.__getattribute__(self, attr)
return object.__getattribute__(self, attr)
 
def __getkey__(self, key):
 
out = self._branch[self._keymap[key]].lazyarray(
 
basketcache=BASKET_CACHE)
 
if self._index is not None:
 
out = out[self._index]
 
return out
 
def __getitem__(self, item):
def __getitem__(self, item):
"""Slicing magic"""
"""Slicing magic"""
if isinstance(item, (int, slice)):
if isinstance(item, (int, slice)):
@@ -286,6 +289,9 @@ class Branch:
@@ -286,6 +289,9 @@ class Branch:
if isinstance(item, tuple):
if isinstance(item, tuple):
return self[item[0]][item[1]]
return self[item[0]][item[1]]
 
if isinstance(item, str):
 
return self.__getkey__(item)
 
return self.__class__(self._tree,
return self.__class__(self._tree,
self._mapper,
self._mapper,
index=np.array(item),
index=np.array(item),
Loading