[Zope-dev] zope.component: calling an Interface and calling queryAdapter give differing results

Philipp von Weitershausen philipp at weitershausen.de
Mon Sep 1 14:05:34 EDT 2008


El 1 Sep 2008, a las 19:26 , Dieter Maurer escribió:
> Chris Withers wrote at 2008-9-1 16:23 +0100:
>> ...
>>>   auth = IAuthentication()                                 # utility
>>>   auth = IAuthentication(default=None)
>>>   langs = IUserPreferredLanguages(request)                 # adapter
>>>   langs = IUserPreferredLanguages(request, default=None)
>>>   view = IBrowserPage((obj, request), name='index')        # named
>>> multi-adapter
>>
>> Right, but how do you differentiate adapting a tuple to IBrowserPage
>> versus adapting obj and request together to IBrowserPage?
>
> One way would be to use "*objs" in the "Interface.__call__" signature.
> Then, multi-adaptation could be "I(obj1, obj2, ...)" and
> tuple adaptation "I((obj1, obj2, ...)).
> Of course, all other parameters would need to be keyword parameters
> (a good thing).
>
> Do you have a serious use case for tuple adaptation?

IIRC, the twisted guys do.



More information about the Zope-Dev mailing list