From 66497f1f4ef1abf60b99c7623e9ad224d49652fd Mon Sep 17 00:00:00 2001 From: Jeremy Fincher Date: Thu, 29 May 2003 17:06:04 +0000 Subject: [PATCH] Added __delitem__ (untested, though) --- src/structures.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/structures.py b/src/structures.py index 0e6ada448..32496c7e2 100644 --- a/src/structures.py +++ b/src/structures.py @@ -237,7 +237,21 @@ class queue(object): if len(self.front) > idx: self.front[-(idx+1)] = value else: - self.back[(idx-len(self.front))] = value + self.back[idx-len(self.front)] = value + + def __delitem__(self, oidx): + if type(oidx) == types.SliceType: + range = xrange(*sliceIndices(oidx, len(self))) + for i in range: + del self[i] + else: + (m, idx) = divmod(oidx, len(self)) + if m and m != -1: + raise IndexError, oidx + if len(self.front) > idx: + del self.front[-(idx+1)] + else: + del self.back[idx-len(self.front)] def __getstate__(self): return (list(self),)