Martijn Faassen wrote:
Hi there,
I think we've had enough discussion to make a decision.
I'm a little worried that neither Stephan Richter, nor Jim Fulton have had much weight in on this. They seem like important stakeholders. :)
Hopefully everybody is at least reasonably happy with this:
An "adapt()" method will be added to Interface. It takes the objects to adapt as *args, and optional but explicit 'default' and 'name' aguments.
+1
A "utility()" method will be added to Interface. It takes optional but explicit 'default' and 'name' arguments.
+1
On the adapter hook (__call__) we will deprecate the implicit second argument for defaults, with a deprecation warning. Instead, we will require people to write out 'default=' explicitly. Otherwise its behavior remains unchanged. I think we can motivate this change purely because IFoo(bar, baz) really is quite surprising compared to IFoo(bar, default=baz).
+1
[steering group members, if you are really unhappy with this, please speak up now. Silence is assent. :)]
I'd give them a week or so at least... this is deep stuff. ;)
Hopefully we can move forward towards implementation.
Thomas Lotze, are you happy enough with this to still help with the implementation?
Thanks everybody for your participation in the discussion!
Can we all get back to our lives now? :-) Martin -- Author of `Professional Plone Development`, a book for developers who want to work with Plone. See http://martinaspeli.net/plone-book