Changeset - c72fe7e3b17f
[Not reviewed]
default
0 1 0
Søren Løvborg - 9 years ago 2017-02-14 21:14:40
sorenl@unity3d.com
vcs: replace deprecated __getslice__ with __getitem__

__getslice__ has been deprecated since Python 2.0.

The support for single item indexing is currently unused, but was
trivial to implement (and needed for proper __getitem__ support).
1 file changed with 7 insertions and 6 deletions:
0 comments (0 inline, 0 general)
kallithea/lib/vcs/backends/base.py
Show inline comments
 
@@ -1048,15 +1048,16 @@ class CollectionGenerator(object):
 
        return len(self.revs)
 

	
 
    def __iter__(self):
 
        for rev in self.revs:
 
            yield self.repo.get_changeset(rev)
 

	
 
    def __getslice__(self, i, j):
 
        """
 
        Returns a iterator of sliced repository
 
        """
 
        sliced_revs = self.revs[i:j]
 
        return CollectionGenerator(self.repo, sliced_revs)
 
    def __getitem__(self, what):
 
        """Return either a single element by index, or a sliced collection."""
 
        if isinstance(what, slice):
 
            return CollectionGenerator(self.repo, self.revs[what])
 
        else:
 
            # single item
 
            return self.repo.get_changeset(self.revs[what])
 

	
 
    def __repr__(self):
 
        return '<CollectionGenerator[len:%s]>' % (len(self))
0 comments (0 inline, 0 general)