[Checkins]
SVN: zope.app.container/trunk/src/zope/app/container/btree.py
Use the previous attribute to store the btree, so that
Christophe Combelles
ccomb at free.fr
Sat Jun 14 03:44:06 EDT 2008
Log message for revision 87385:
Use the previous attribute to store the btree, so that
there is a full backward compatibility
Changed:
U zope.app.container/trunk/src/zope/app/container/btree.py
-=-
Modified: zope.app.container/trunk/src/zope/app/container/btree.py
===================================================================
--- zope.app.container/trunk/src/zope/app/container/btree.py 2008-06-14 06:38:21 UTC (rev 87384)
+++ zope.app.container/trunk/src/zope/app/container/btree.py 2008-06-14 07:44:05 UTC (rev 87385)
@@ -11,13 +11,8 @@
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
-"""This module provides a sample container implementation.
+"""This module provides a sample btree container implementation.
-This is primarily for testing purposes.
-
-It might be useful as a mix-in for some classes, but many classes will
-need a very different implementation.
-
$Id$
"""
__docformat__ = 'restructuredtext'
@@ -37,7 +32,9 @@
implements(IBTreeContainer)
def __init__(self):
- self.__data = self._newContainerData()
+ # We keep the previous attribute to store the data
+ # for backward compatibility
+ self._SampleContainer__data = self._newContainerData()
self.__len = Length()
def _newContainerData(self):
@@ -63,12 +60,12 @@
>>> "A" in c
False
'''
- return key in self.__data
+ return key in self._SampleContainer__data
@Lazy
def _BTreeContainer__len(self):
l = Length()
- ol = len(self.__data)
+ ol = len(self._SampleContainer__data)
if ol > 0:
l.change(ol)
self._p_changed = True
@@ -80,19 +77,19 @@
def _setitemf(self, key, value):
# make sure our lazy property gets set
l = self.__len
- self.__data[key] = value
+ self._SampleContainer__data[key] = value
l.change(1)
def __iter__(self):
- return iter(self.__data)
+ return iter(self._SampleContainer__data)
def __getitem__(self, key):
'''See interface `IReadContainer`'''
- return self.__data[key]
+ return self._SampleContainer__data[key]
def get(self, key, default=None):
'''See interface `IReadContainer`'''
- return self.__data.get(key, default)
+ return self._SampleContainer__data.get(key, default)
def __setitem__(self, key, value):
setitem(self, self._setitemf, key, value)
@@ -100,39 +97,20 @@
def __delitem__(self, key):
# make sure our lazy property gets set
l = self.__len
- uncontained(self.__data[key], self, key)
- del self.__data[key]
+ uncontained(self._SampleContainer__data[key], self, key)
+ del self._SampleContainer__data[key]
l.change(-1)
has_key = __contains__
def items(self, key=None):
- return self.__data.items(key)
+ return self._SampleContainer__data.items(key)
def keys(self, key=None):
- return self.__data.keys(key)
+ return self._SampleContainer__data.keys(key)
def values(self, key=None):
- return self.__data.values(key)
+ return self._SampleContainer__data.values(key)
- # transparent backward compatibility
- # since BTreeContainer does not inherit from SampleContainer
- def _get__data(self):
- try:
- return self._BTreeContainer__data
- except:
- return self._SampleContainer__data
- def _set__data(self, value):
- try:
- self._BTreeContainer__data = value
- except:
- self._SampleContainer__data = value
- def _del_data(self):
- try:
- del self._BTreeContainer__data
- except:
- del self._SampleContainer__data
- __data = property(_get__data, _set__data, _del_data)
-
More information about the Checkins
mailing list