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?

/JM
    

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 later...so when you look at the
introspector tab in the zmi, it's gone.

regards.luis

  

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 zope.app.file import file
>>> f = file.File()
>>> f
<zope.app.file.file.File 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)
True

hope it helps
/JM


_______________________________________________
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