[Zope] Finding an object in a folder
Dieter Maurer
dieter at handshake.de
Thu May 26 17:52:36 EDT 2005
Chris Withers wrote at 2005-5-25 21:03 +0100:
> ...
>> I strongly argue against it. Fix "hasattr" in the Zope context,
>> instead!
>
>Make it so! :-)
_marker = []
def hasattr(obj, attr, marker):
a = getattr(obj, attr, _marker)
return a is not _marker
import __builtin__
__builtin__.hasattr = hasattr
Easy enough, isn't it?
Way easier than to change "hasattr" anywhere it is now used.
Now, there need only to be someone who checks it in.
>>>if getattr(thefolder.aq_inner.aq_explicit,the_id,None):
>>
>> You are aware that this is in general *NOT* an emulation
>> of "hasattr".
>
>I didn't say it was ;-)
>
>> It may fail e.g. for properties.
>
>How would it fail for properties?
It fails for everything with a false value (None, 0, '', [], ...).
Properties may have a false value.
>> And it would be so easy to fix "hasattr" ;-)
>
>then why haven't you done it? ;-)
I do not have write access to the Zope repository
(because ZC requires full patent indemnification to grant it
and I am unwilling to promise this).
--
Dieter
More information about the Zope
mailing list