Well, it's right there in the Python:
def awake(self,trans):
self.__class__.__bases__[0].awake(self, trans)
self.initPSP()
That looks like it's basically just to put in that .initPSP() hook.
It's kind of lame, but SecureMixIn could have a method:
def awake(self, trans):
SiteLayout.awake(self, trans)
This hard-codes what SecureMixIn mixes in to. Otherwise you could do
self.__class__.__bases__[1].awake(self, trans), which would be slightly
more general.
I can't think of a good way to have PSP do this. Unless perhaps it used
the new-and-fancy super() call (which I don't completely understand
yet). Or PSP could add something to __init__, like:
def __init__(self):
self._realAwake = self.awake
self.awake = self._pspAwake
def pspAwake(self, trans):
self._realAwake(trans)
self.initPSP()
That might work well for multiple inheritance.
--
Ian Bicking Colorstudy Web Development
[EMAIL PROTECTED] http://www.colorstudy.com
PGP: gpg --keyserver pgp.mit.edu --recv-keys 0x9B9E28B7
4869 N Talman Ave, Chicago, IL 60625 / (773) 275-7241
-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
Webware-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/webware-devel