def _toslice(rank, key): '''Transform key to proper slice if necessary ''' if rank == 1: if isinstance(key, int): return False, key if isinstance(key, (tuple, list)): nk = len(key) if nk == 1: key = key[0] elif nk > 1: raise IndexError, "too many indices" if isinstance(key, slice) or key is Ellipsis: return True, key return False, (key,) return _isslice(rank, key), key
def _toslice(self, key): '''Transform key to proper slice if necessary ''' if self.rank == 1: if isinstance(key, list) and len(key) == 1: key = key[0] if isinstance(key, slice) or key is Ellipsis: return True, key if isinstance(key, tuple): if len(key) > 1: raise IndexError, "too many indices" return False, key return False, (key,) if _isslice(self.rank, self.shape, key): return True, key return False, key
def _toslice(rank, key): '''Transform key to proper slice if necessary ''' if rank == 1: if isinstance(key, int): return False, key if isinstance(key, (tuple, list)): nk = len(key) if nk == 1: key = key[0] elif nk > 1: raise IndexError, "too many indices" if isinstance(key, slice) or key is Ellipsis: return True, key return False, (key, ) return _isslice(rank, key), key