Chris Withers wrote:
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:
>>> t = Test()
<__main__.Test instance at 0x01C6E300>
>>> from zope.component import queryAdapter
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
From the Interface.__call__ docstring: "If an object already implements
the interface, then it will be returned"
queryAdapter is looking in the adapter registry.
You have not registered any adapters.
So this looks like the expected behaviour to me.
Zope3-dev mailing list