tracemalloc: Fix slicing traces and fix slicing a traceback.

This commit is contained in:
Victor Stinner 2014-02-01 04:07:02 +01:00
parent 8f74a73ecb
commit 524be3056e
3 changed files with 18 additions and 6 deletions

View file

@ -182,8 +182,10 @@ class Traceback(Sequence):
return len(self._frames)
def __getitem__(self, index):
trace = self._frames[index]
return Frame(trace)
if isinstance(index, slice):
return tuple(Frame(trace) for trace in self._frames[index])
else:
return Frame(self._frames[index])
def __contains__(self, frame):
return frame._frame in self._frames
@ -259,8 +261,10 @@ class _Traces(Sequence):
return len(self._traces)
def __getitem__(self, index):
trace = self._traces[index]
return Trace(trace)
if isinstance(index, slice):
return tuple(Trace(trace) for trace in self._traces[index])
else:
return Trace(self._traces[index])
def __contains__(self, trace):
return trace._trace in self._traces