On Tue, Aug 24, 2004 at 03:25:17PM +0200, Florent Guillaume wrote:
> I'd like to add a method like
>
> def hasObject(self, id):
> """Test if an object is in the current object."""
> for o in self._objects:
> if o['id'] == id:
> return 1
> return 0
>
> to ObjectManager.
>
> This would bring it in line with BTreeFolder2 (who already has an
> hasObject method) and we could then always use the most efficient method
> to test if a folder has a given subobject id.
>
> Opinions ?
I like having such a method, but let's not iterate over all
the sub-objects. Why not this?
from Acquisition import aq_base
...
def hasObject(self, id):
"""Test if an object is in the current object.
"""
if hasattr(aq_base(self), id):
return 1
return 0
The same idiom is used in ObjectManager.checkValidId, FWIW.
--
Paul Winkler
http://www.slinkp.com
_______________________________________________
Zope-Dev maillist - [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )