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