[Twisted-Python] Interface.adaptWith and Interface.__adapt__
Clark C. Evans
cce at clarkevans.com
Sat Jun 7 14:51:49 EDT 2003
On Thu, Jun 05, 2003 at 09:00:25AM -0400, Phillip J. Eby wrote:
| >As I understand it, PEP 246 cannot be implemented without raising
| >exceptions in __adapt__.
| Actually, no. __adapt__ is also allowed to return None to signal inability
| to adapt. And, the consensus so far of people I've talked with (Jim Fulton
| and Guido) is that PEP 246 should be revised in that area anyway, such that
| it isn't even an *option* to raise TypeError to signal
| failure. PyProtocols will only ignore TypeError if it looks like it came
| from calling an unbound class method, not if it looks like it came from the
| __conform__ or __adapt__ method body.
This is great that PEP 246 has found a supporter... let alone someone
who is doing an implementation! Anyway, I support PEP 246 being
modified to not catch TypeError; this was done in such a way as to
make writing adapters easier. But alas, if setting up the try/catch
block is causing performance problems, then it should be dropped.
The python community does indeed need a common protocol implementation,
I do hope your work gains adoption.
More information about the Twisted-Python