Re: [Zope3-Users] Re: Re: Checking if an interface is provided by an object or could be adapted to

2006-05-01 Thread Bernd Dorn


On 01.05.2006, at 02:17, Martin Aspeli wrote:

On Mon, 01 May 2006 00:55:46 +0100, Stephan Richter  
[EMAIL PROTECTED] wrote:



On Sunday 30 April 2006 19:34, Bernd Dorn wrote:

component.queryMultiAdapter((bar,baz), IFoo) is not None or False


Why not just:

component.queryMultiAdapter((bar,baz), IFoo, default=False)


Well, it seems that if I have:


class Foo(object):

.implements(IFoo)


context = Foo()
component.queryAdapter(foo, IFoo, default=None)

None


this looks for an adapter for all interfaces provided by foo to IFoo  
regardless if foo already implements IFoo.


what should it return instead? foo?




I assume it's the same with single adapters? As I said, I may well  
be doing something wrong, but that's what was happening to me  
(using Five, Zope 2.9.2). If it makes any difference, the interface  
in question (IFoo) was applied to the class Foo using implements  
in ZCML (legacy/backwards compatability issue).


hm, that's odd

is the interface provided by the object?

IFoo.providedBy(context)

if not, there may be an error in the zcml




Martin

--
You can just adapt yourself out of it... // Archipelago sprint  
26/04/2006


___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users


___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users


[Zope3-Users] Re: Re: Checking if an interface is provided by an object or could be adapted to

2006-04-30 Thread Martin Aspeli
On Mon, 01 May 2006 00:55:46 +0100, Stephan Richter  
[EMAIL PROTECTED] wrote:



On Sunday 30 April 2006 19:34, Bernd Dorn wrote:

component.queryMultiAdapter((bar,baz), IFoo) is not None or False


Why not just:

component.queryMultiAdapter((bar,baz), IFoo, default=False)


Well, it seems that if I have:


class Foo(object):

.implements(IFoo)


context = Foo()
component.queryAdapter(foo, IFoo, default=None)

None

I assume it's the same with single adapters? As I said, I may well be  
doing something wrong, but that's what was happening to me (using Five,  
Zope 2.9.2). If it makes any difference, the interface in question (IFoo)  
was applied to the class Foo using implements in ZCML (legacy/backwards  
compatability issue).


Martin

--
You can just adapt yourself out of it... // Archipelago sprint 26/04/2006

___
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users