Browse code

PY3 support: use getitem instead of getslices for slices

Florent Viard authored on 2017/02/20 22:52:38
Showing 1 changed files
... ...
@@ -54,11 +54,14 @@ class SortedDict(dict):
54 54
     def __iter__(self):
55 55
         return SortedDictIterator(self, self.keys())
56 56
 
57
-    def __getslice__(self, i=0, j=-1):
58
-        keys = self.keys()[i:j]
59
-        r = SortedDict(ignore_case = self.ignore_case)
60
-        for k in keys:
61
-            r[k] = self[k]
57
+    def __getitem__(self, index):
58
+        """Override to support the "get_slice" for python3 """
59
+        if isinstance(index, slice):
60
+            r = SortedDict(ignore_case = self.ignore_case)
61
+            for k in self.keys()[index]:
62
+                r[k] = self[k]
63
+        else:
64
+            r = super(SortedDict, self).__getitem__(index)
62 65
         return r
63 66
 
64 67