On Thu, Oct 8, 2009 at 7:23 PM, Brian Granger
<ellisonbg.net@gmail.com> wrote:
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.