[Twisted-Python] Interfaces and adapters

en.karpachov at ospaz.ru en.karpachov at ospaz.ru
Fri Aug 26 04:00:39 EDT 2005


On Fri, 26 Aug 2005 16:30:26 +1000
Andrew Bennetts wrote:

> > Could somebody give any rationale why this condition shouldn't always hold:
> > 
> > foo = IFoo(bar)
> > assert IFoo.providedBy(foo)
> > 
> > Seems it is not unreasonable to expect this behaviour, because it is
> > exactly what interfaces are all about, or am I wrong?
> 
> That's a pretty reasonable expectation.  I think emitting a warning if this
> doesn't hold would be a sane thing to do, and it wouldn't break any code.

For me, raising CannotAdapt would be better choice. After all, getting an
object that implements requested interface is the very thing what
adaptation is used for.

If I, say, adapt WovenContext to ISession, I get a session object which
does not implement the ISession interface itself. Absurdly.

-- 
jk




More information about the Twisted-Python mailing list