Re: [Zope3-Users] Re: Re: Checking if an interface is provided by an object or could be adapted to
On 01.05.2006, at 09:17, Bernd Dorn wrote: 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 in ZCML (legacy/backwards compatability issue). ups, forget the lines below, i thought you were talking about IFoo (context) 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 mailing list Zope3-users@zope.org http://mail.zope.org/mailman/listinfo/zope3-users
Re: [Zope3-Users] Re: Re: Checking if an interface is provided by an object or could be adapted to
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 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
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 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