From 98d0eb786962e96c96c9b0ee180672989d04a279 Mon Sep 17 00:00:00 2001 From: Griatch Date: Thu, 8 Nov 2012 19:16:21 +0100 Subject: [PATCH] Added __delitem__ support to PackedDict/List, allowing for things like in-place "del obj.db.dict[key]". --- src/typeclasses/models.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/typeclasses/models.py b/src/typeclasses/models.py index b845926e3..df21c339b 100644 --- a/src/typeclasses/models.py +++ b/src/typeclasses/models.py @@ -151,6 +151,10 @@ class PackedDict(dict): "assign item to this dict" super(PackedDict, self).__setitem__(*args, **kwargs) self.save() + def __delitem__(self, *args, **kwargs): + "delete with del self[key]" + super(PackedDict, self).__delitem__(*args, **kwargs) + self.save() def clear(self, *args, **kwargs): "Custom clear" super(PackedDict, self).clear(*args, **kwargs) @@ -210,6 +214,10 @@ class PackedList(list): "Custom setitem that stores changed list to database." super(PackedList, self).__setitem__(*args, **kwargs) self.save() + def __delitem__(self, *args, **kwargs): + "delete with del self[index]" + super(PackedList, self).__delitem__(*args, **kwargs) + self.save() def append(self, *args, **kwargs): "Custom append" super(PackedList, self).append(*args, **kwargs)