On 04/20/2010 09:04 PM, Fred Drake wrote:
On Tue, Apr 20, 2010 at 2:58 PM, Christian Theune<ct@gocept.com> wrote:
zope.testing uses the attribute '__bases__' to store the information what the base layers are. __*__ are supposedly Python internal attributes. Specifically __bases__ is known to be used to store information which base classes a class has.
This sort of misdirection has, unfortunately, a long history in Zope 3 (and the various things that's become). Witness __name__. (There are others, but most aren't *actually* used by Python implementations.)
Removing existing __*__ name ("underware") usage is probably untenable, but I hope we can avoid extending our foolishness.
Yeah, I guess so: my impression of the OO structure after understanding what's going on was quite satisfied. It's just very misleading. :) -- Christian Theune · ct@gocept.com gocept gmbh & co. kg · forsterstraße 29 · 06112 halle (saale) · germany http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1 Zope and Plone consulting and development