[Checkins] SVN: Products.BTreeFolder2/trunk/ Make sure that methods returning objects return them Acquisition wrapped.
Hanno Schlichting
hannosch at hannosch.eu
Wed Aug 4 14:35:50 EDT 2010
Log message for revision 115441:
Make sure that methods returning objects return them Acquisition wrapped.
Changed:
U Products.BTreeFolder2/trunk/CHANGES.txt
U Products.BTreeFolder2/trunk/src/Products/BTreeFolder2/BTreeFolder2.py
-=-
Modified: Products.BTreeFolder2/trunk/CHANGES.txt
===================================================================
--- Products.BTreeFolder2/trunk/CHANGES.txt 2010-08-04 18:11:21 UTC (rev 115440)
+++ Products.BTreeFolder2/trunk/CHANGES.txt 2010-08-04 18:35:50 UTC (rev 115441)
@@ -4,6 +4,8 @@
2.13.1 (unreleased)
-------------------
+- Make sure that methods returning objects return them Acquisition wrapped.
+
- Be more careful in calling our own keys, values and items methods, as
sub-classes might have overridden some of them.
Modified: Products.BTreeFolder2/trunk/src/Products/BTreeFolder2/BTreeFolder2.py
===================================================================
--- Products.BTreeFolder2/trunk/src/Products/BTreeFolder2/BTreeFolder2.py 2010-08-04 18:11:21 UTC (rev 115440)
+++ Products.BTreeFolder2/trunk/src/Products/BTreeFolder2/BTreeFolder2.py 2010-08-04 18:35:50 UTC (rev 115441)
@@ -385,12 +385,12 @@
# If 'spec' is specified, returns only objects whose meta_type
# match 'spec'.
if spec is None:
- return self._tree.values()
+ return LazyMap(self._getOb, self._tree.keys())
return LazyMap(self._getOb, self.objectIds(spec))
security.declareProtected(access_contents_information, 'values')
def values(self):
- return self._tree.values()
+ return LazyMap(self._getOb, self._tree.keys())
security.declareProtected(access_contents_information, 'objectItems')
def objectItems(self, spec=None):
@@ -398,13 +398,15 @@
# If 'spec' is specified, returns only objects whose meta_type match
# 'spec'
if spec is None:
- return self._tree.items()
+ return LazyMap(lambda id, _getOb=self._getOb: (id, _getOb(id)),
+ self._tree.keys())
return LazyMap(lambda id, _getOb=self._getOb: (id, _getOb(id)),
self.objectIds(spec))
security.declareProtected(access_contents_information, 'items')
def items(self):
- return self._tree.items()
+ return LazyMap(lambda id, _getOb=self._getOb: (id, _getOb(id)),
+ self._tree.keys())
security.declareProtected(access_contents_information, 'objectMap')
def objectMap(self):
More information about the checkins
mailing list