Hot on the heels of my multi-adapter problem:

...which I'm still waiting for guidance on, I now find that queryAdapter and calling an interface behave unexpectedly differently in the case where an object directly implements an interface:

>>> from zope.interface import Interface,implements
>>> class ITest(Interface): pass
>>> class Test:
...   implements(ITest)
>>> t = Test()
>>> ITest(t)
<__main__.Test instance at 0x01C6E300>
>>> from zope.component import queryAdapter
>>> queryAdapter(t,ITest)

How come calling the interface returns t but queryAdapter returns None?

Should I log this and my previous multi-adapter example as bugs in the collector?



Simplistix - Content Management, Zope & Python Consulting
Zope3-dev mailing list

Reply via email to