[Checkins] SVN: zc.dict/branches/tlotze-blist/src/zc/dict/dict.py some clean-up not related to BLists

Thomas Lotze tl at gocept.com
Tue Dec 23 08:47:47 EST 2008


Log message for revision 94281:
  some clean-up not related to BLists

Changed:
  U   zc.dict/branches/tlotze-blist/src/zc/dict/dict.py

-=-
Modified: zc.dict/branches/tlotze-blist/src/zc/dict/dict.py
===================================================================
--- zc.dict/branches/tlotze-blist/src/zc/dict/dict.py	2008-12-23 12:37:16 UTC (rev 94280)
+++ zc.dict/branches/tlotze-blist/src/zc/dict/dict.py	2008-12-23 13:47:47 UTC (rev 94281)
@@ -126,8 +126,9 @@
             raise KeyError, 'container is empty'
         return (key, self.pop(key))
 
+
 class OrderedDict(Dict):
-    """A Ordered BTree-based dict-like persistent object that can be safely
+    """An ordered BTree-based dict-like persistent object that can be safely
     inherited from.
 
     """
@@ -153,13 +154,10 @@
         return [(key, self._data[key]) for key in self._order]
 
     def __setitem__(self, key, value):
-        delta = 1
-        if key in self._data:
-            delta = 0
-        self._data[key] = value
-        if delta:
+        if key not in self._data:
             self._order.append(key)
-            self._len.change(delta)
+            self._len.change(1)
+        self._data[key] = value
 
     def updateOrder(self, order):
         order = zc.blist.BList(order)
@@ -168,7 +166,7 @@
             raise ValueError("Incompatible key set.")
 
         order_set = set(order)
-        
+
         if len(order) != len(order_set):
             raise ValueError("Duplicate keys in order.")
 
@@ -217,5 +215,3 @@
             self._len.change(-1)
             self._order.remove(key)
         return res
-
-    



More information about the Checkins mailing list