diff idavoll/memory_storage.py @ 142:812300cdbc22

Changed behaviour of retraction of items so that only the actually deleted item ids are returned, and no exception is raised for items that didn't actually exists.
author Ralph Meijer <ralphm@ik.nu>
date Tue, 12 Jul 2005 09:23:00 +0000
parents 8f6956b9a688
children f393bccec4bc
line wrap: on
line diff
--- a/idavoll/memory_storage.py	Tue Jun 14 12:12:23 2005 +0000
+++ b/idavoll/memory_storage.py	Tue Jul 12 09:23:00 2005 +0000
@@ -164,15 +164,16 @@
         deleted = []
 
         for item_id in item_ids:
-            if not self._items.has_key(item_id):
-                return defer.fail(storage.ItemNotFound())
-
-        for item_id in item_ids:
-            item = self._items[item_id]
-            self._itemlist.remove(item)
-            del self._items[item_id]
+            try:
+                item = self._items[item_id]
+            except KeyError:
+                pass
+            else:
+                self._itemlist.remove(item)
+                del self._items[item_id]
+                deleted.append(item_id)
         
-        return defer.succeed(None)
+        return defer.succeed(deleted)
 
     def get_items(self, max_items=None):
         if max_items: