Changeset - 838bdb265025
[Not reviewed]
default
0 2 0
Mads Kiilerich - 6 years ago 2019-12-22 13:32:44
mads@kiilerich.com
Grafted from: 010067c556d6
vcs: replace __getslice__ with slice handling in __getitem__

Needed for py3.
2 files changed with 8 insertions and 11 deletions:
0 comments (0 inline, 0 general)
kallithea/lib/vcs/backends/base.py
Show inline comments
 
@@ -169,14 +169,9 @@ class BaseRepository(object):
 
        """
 
        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):
kallithea/lib/vcs/nodes.py
Show inline comments
 
@@ -48,8 +48,9 @@ class NodeGeneratorBase(object):
 
    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 @@ class RemovedFileNodesGenerator(NodeGene
 
        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)
 

	
 

	
0 comments (0 inline, 0 general)