Florent Guillaume wrote:
> Philipp von Weitershausen wrote:
> 
>>   >>> from zope.app.content.interfaces import IContentType
>>   >>> from zope.app.file.interfaces import IFile
>>   >>> from zope.interface import directlyProvides
>>   >>> directlyProvides(IFile, IContentType)
> 
> 
> Watch out! directlyProvides is evil, it *replaces* the interfaces
> provided by something. Here, if IFile implemented something else, it
> would be lost.
> 
> You should always use:
> 
>   directlyProvides(ob, ISomething, directlyProvidedBy(ob))
> 
> (Or use a convenience method to do that, I'm not sure if alsoProvides()
> was ever implemented.)

Yes, alsoProvides() is available in Zope 3.1. So,

  >>> alsoProvides(ob, ISomething)

is the shorter spelling of Florent's line above.

Philipp


_______________________________________________
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com

Reply via email to