[Neo-report] r2052 vincent - /trunk/neo/node.py

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Apr 30 15:43:33 CEST 2010


Author: vincent
Date: Fri Apr 30 15:43:32 2010
New Revision: 2052

Log:
Check removed value is the expected one in __update and __updateSet.

Modified:
    trunk/neo/node.py

Modified: trunk/neo/node.py
==============================================================================
--- trunk/neo/node.py [iso-8859-1] (original)
+++ trunk/neo/node.py [iso-8859-1] Fri Apr 30 15:43:32 2010
@@ -296,6 +296,9 @@
     def __update(self, index_dict, old_key, new_key, node):
         """ Update an index from old to new key """
         if old_key is not None:
+            assert index_dict[old_key] is node, '%r is stored as %s, ' \
+                'moving %r to %s' % (index_dict[old_key], old_key, node,
+                new_key)
             del index_dict[old_key]
         if new_key is not None:
             index_dict[new_key] = node
@@ -322,7 +325,7 @@
 
     def __updateSet(self, set_dict, old_key, new_key, node):
         """ Update a set index from old to new key """
-        if old_key in set_dict and node in set_dict[old_key]:
+        if old_key in set_dict:
             set_dict[old_key].remove(node)
         if new_key is not None:
             set_dict.setdefault(new_key, set()).add(node)





More information about the Neo-report mailing list