On Jan 13, 2005, at 12:46 PM, Clark C. Evans wrote:
My current suggestion to make 'transitive adaption' easy for a
application builder (one putting togeher components) has a few
small parts:

  - If an adaptation is not found, raise an error, but list in
    the error message two additional things: (a) what possible
    adaptation paths exist, and (b) how to register one of
    these paths in their module.

  - A simple method to register an adaption path, the error message
    above can even give the exact line needed,

adapt.registerPath(from=A,to=C,via=B)

I'd just like to note that this won't solve my use case for transitive adaptation. To keep backwards compatibility, I can't depend on the application developer to register an adapter path from A through IResource to INewResource. Trying to adapt A to INewResource needs to just work. I can't register the path either, because I (the framework author) don't know anything about A.


A solution that would work is if I have to explicitly declare the adapter from IResource to INewResource as 'safe', as long as I don't also have to declare the adapter from A to IResource as 'safe'. (That is, I suppose -- in a transitive adapter chain, all except one adapter in the chain would have to be declared 'safe').

I don't know whether or not it's worthwhile to have this encoded in the framework, as it is clearly possible to do it on my own in any case. I'll leave that for others to debate. :)

James

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to