[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