Dieter Maurer wrote: > Then, use something different from adaptation (as adaptation does > not fit your wishes).
This is what I'm trying to do with subclassing, and my question was why that subclassing wasn't working... > I expect that your adapter factory can raise "ComponentLookupError" > when it cannot handle the adaptation and then the "default" argument > of the adapter lookup will take effect. > > adapter = IMyInterface(obj, None) ...which might work, except I'd want that None to be the default and with no need to specify it. The pythonic way to do this would be to make IMyInterface a subclass of Interface (which it is) and tweak the implementation of whatever implements IMyInterface(...), which is exactly what I'm trying to do. From looking at the python implementation of Interface, __call__ is indicated to be the method to override, but with the C-based Interface, this has no effect. Why is that? *That's* what I'm looking for help with, not judgement on whether adapting to None is a good idea or not ;-) Chris -- Simplistix - Content Management, Zope & Python Consulting - http://www.simplistix.co.uk _______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )