luis wrote:
Jean-Marc Orliaguet wrote:

sorry I thought you wanted to do something else.. maybe you want to use
'alsoProvides' if it is to set a marker, to avoid removing other
interfaces that the file might provide?


nop. that's not it... I still havn't figured it out, but it seems very
strange to me. it seems like folder-like objects work, but content-like
objects don't..

for example

folder = Folder()
interface.directlyProvides( folder, IMarker )
file = File()
interface.directlyProvides( file, IMarker )
root['folder'] = folder
root['file'] = file

would leave "folder" directly providing the "IMarker" interface, but "file"
directly providing nothing.
the other strange thing is that the interface seems to be added to the
provided-list, but then it is removed again when you look at the
introspector tab in the zmi, it's gone.



are you sure? I tried with:

[EMAIL PROTECTED] ~/Zope3/src $ python2.4
Python 2.4.2 (#1, Dec  4 2005, 15:28:38)
Type "help", "copyright", "credits" or "license" for more information.
>>> from import file
>>> f = file.File()
>>> f
< object at 0xb7cbad2c>
>>> import zope.interface
>>> class IMarker(zope.interface.Interface):
...          """Marker interface"""
>>> zope.interface.directlyProvides(f, IMarker)
>>> list(zope.interface.directlyProvidedBy(f))
[<InterfaceClass __main__.IMarker>]
>>> IMarker.providedBy(f)

hope it helps

Zope3-dev mailing list

Reply via email to