File tree Expand file tree Collapse file tree 2 files changed +13
-0
lines changed
tableauserverclient/server Expand file tree Collapse file tree 2 files changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -43,6 +43,12 @@ def __getitem__(self, k):
4343 start += self .total_available
4444 if stop < 0 :
4545 stop += self .total_available
46+ if start < stop and step < 0 :
47+ # Since slicing is left inclusive and right exclusive, shift
48+ # the start and stop values by 1 to keep that behavior
49+ start , stop = stop - 1 , start - 1
50+ slice_stop = stop if stop > 0 else None
51+ k = slice (start , slice_stop , step )
4652
4753 k_range = range (start , stop , step )
4854 if all (i in page_range for i in k_range ):
Original file line number Diff line number Diff line change @@ -246,6 +246,13 @@ def test_slicing_queryset(self):
246246 self .assertEqual (3 , len (all_views [2 :5 ]))
247247 self .assertEqual (3 , len (all_views [- 3 :]))
248248 self .assertEqual (3 , len (all_views [- 6 :- 3 ]))
249+ self .assertEqual (3 , len (all_views [3 :6 :- 1 ]))
250+ self .assertEqual (3 , len (all_views [6 :3 :- 1 ]))
251+ self .assertEqual (10 , len (all_views [::- 1 ]))
252+ self .assertEqual (
253+ all_views [3 :6 ],
254+ list (reversed (all_views [3 :6 :- 1 ]))
255+ )
249256
250257 self .assertEqual (all_views [- 3 ].id , "2df55de2-3a2d-4e34-b515-6d4e70b830e9" )
251258
You can’t perform that action at this time.
0 commit comments