Jack Diederich wrote: > Using metaclasses also required gross hacks like checking > for a 'DO_NOT_REGISTER' member for subclasses that wanted to inherit from > a class that had a Register metaclass but didn't want to be registered.
I've just done something like this myself in the last few days, and my solution was to have the registration metaclass look for an attribute in the class's __dict__, instead of using attribute access on the class, to decide whether to register it. That way the registerability doesn't get inherited, and I get to choose individually for each class. This of course may not be such a good idea if you want registerability to *usually* be inherited, but not always. In that case, you need some way of saying when you don't want it, in which case a do-not-register attribute doesn't seem so bad. How else would you provide this information? Still want class decorators, though. :-) BTW, the system I'm working on is a response to some hair-tearing problems I was experiencing trying to pickle some of my data, and also to address some disadvantages I see in using pickle for long-term data storage. I'll write something up about it if it works out... -- Greg Ewing, Computer Science Dept, +--------------------------------------+ University of Canterbury, | Carpe post meridiam! | Christchurch, New Zealand | (I'm not a morning person.) | [EMAIL PROTECTED] +--------------------------------------+ _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com