[Twisted-Python] Disturbing aspect of zope.interface

Glyph Lefkowitz glyph at twistedmatrix.com
Thu Oct 8 19:57:52 EDT 2009


On Thu, Oct 8, 2009 at 7:23 PM, Brian Granger <ellisonbg.net at gmail.com>wrote:

> I know this is not the zope list
>

You're right, it's not.  Perhaps you could send a message to the interface
package development list?

    https://mail.zope.org/mailman/listinfo/interface-dev

The disturbing thing is that now A (which is just an object) has been hacked
> on
> by zope.interface.  It has additional methods (__provides__, etc.) that are
> specific to
> zope.
>

Why does this disturb you?  Would you feel better if it were called
__zope_provides__?

Summary: If a class A is later subclassed by something B that calls
> zi.implements, the original class A
> becomes infected with all the zope.interface stuff.
>

A gets an additional attribute.  Its behavior doesn't change in any other
way.  I don't really see what's wrong with that, unless you have a differing
definition of the __provides__ attribute in your code.

Is there a way to avoid this?


Depending on what your definition of "this" is, there almost certainly is.
In the simplest case, you could submit a patch to zope interface.

Doesn't this seem like a bad idea?
>

No.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://twistedmatrix.com/pipermail/twisted-python/attachments/20091008/f97830cd/attachment.htm 


More information about the Twisted-Python mailing list