[Checkins] SVN: zc.dict/trunk/src/zc/dict/dict. Use
BTree.Length.Length.
Albertas Agejevas
alga at pov.lt
Wed Jul 4 10:47:29 EDT 2007
Log message for revision 77394:
Use BTree.Length.Length.
Changed:
U zc.dict/trunk/src/zc/dict/dict.py
U zc.dict/trunk/src/zc/dict/dict.txt
-=-
Modified: zc.dict/trunk/src/zc/dict/dict.py
===================================================================
--- zc.dict/trunk/src/zc/dict/dict.py 2007-07-04 14:29:40 UTC (rev 77393)
+++ zc.dict/trunk/src/zc/dict/dict.py 2007-07-04 14:47:28 UTC (rev 77394)
@@ -16,6 +16,7 @@
$Id$
"""
from BTrees.OOBTree import OOBTree
+from BTrees.Length import Length
from persistent import Persistent
@@ -26,7 +27,7 @@
def __init__(self, dict=None, **kwargs):
self._data = OOBTree()
- self.__len = 0
+ self._len = Length()
if dict is not None:
self.update(dict)
if len(kwargs):
@@ -38,22 +39,22 @@
delta = 0
self._data[key] = value
if delta:
- self.__len += delta
+ self._len.change(delta)
def __delitem__(self, key):
del self._data[key]
- self.__len -= 1
+ self._len.change(-1)
def update(self, other):
self._data.update(other)
- self.__len = len(self._data)
+ self._len.set(len(self._data))
def clear(self):
self._data.clear()
- self.__len = 0
+ self._len.set(0)
def __len__(self):
- return self.__len
+ return self._len()
def keys(self):
return list(self._data.keys())
Modified: zc.dict/trunk/src/zc/dict/dict.txt
===================================================================
--- zc.dict/trunk/src/zc/dict/dict.txt 2007-07-04 14:29:40 UTC (rev 77393)
+++ zc.dict/trunk/src/zc/dict/dict.txt 2007-07-04 14:47:28 UTC (rev 77394)
@@ -24,7 +24,9 @@
Length is maintained separately, because len on a BTree is
inefficient, as it has to walk the whole tree.
- >>> d._Dict__len
+ >>> d._len
+ <BTrees.Length.Length object at ...>
+ >>> d._len()
2
As after an update operation we cannot easily adjust the length, it is
More information about the Checkins
mailing list