Mercurial > kallithea
changeset 8052:838bdb265025
vcs: replace __getslice__ with slice handling in __getitem__
Needed for py3.
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Sun, 22 Dec 2019 13:32:44 +0100 |
parents | 8a4a8020c38f |
children | 39ba3ee88c7c |
files | kallithea/lib/vcs/backends/base.py kallithea/lib/vcs/nodes.py |
diffstat | 2 files changed, 8 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/kallithea/lib/vcs/backends/base.py Thu Dec 26 04:51:47 2019 +0100 +++ b/kallithea/lib/vcs/backends/base.py Sun Dec 22 13:32:44 2019 +0100 @@ -169,14 +169,9 @@ """ raise NotImplementedError - def __getslice__(self, i, j): - """ - Returns a iterator of sliced repository - """ - for rev in self.revisions[i:j]: - yield self.get_changeset(rev) - def __getitem__(self, key): + if isinstance(key, slice): + return (self.get_changeset(rev) for rev in self.revisions[key]) return self.get_changeset(key) def count(self):
--- a/kallithea/lib/vcs/nodes.py Thu Dec 26 04:51:47 2019 +0100 +++ b/kallithea/lib/vcs/nodes.py Sun Dec 22 13:32:44 2019 +0100 @@ -48,8 +48,9 @@ def __call__(self): return [n for n in self] - def __getslice__(self, i, j): - for p in self.current_paths[i:j]: + def __getitem__(self, key): + assert isinstance(key, slice), key + for p in self.current_paths[key]: yield self.cs.get_node(p) def __len__(self): @@ -82,8 +83,9 @@ for p in self.current_paths: yield RemovedFileNode(path=p) - def __getslice__(self, i, j): - for p in self.current_paths[i:j]: + def __getitem__(self, key): + assert isinstance(key, slice), key + for p in self.current_paths[key]: yield RemovedFileNode(path=p)