5 Jun
2002
5 Jun
'02
1:33 p.m.
Given the following code: I can see why access to self.thing fails in Inner::__setattr__, but the question is how do I do that -- can I not use __setattr__ and have to use a setAttr that is accessed via O.I.setAttr('help','me rhonda') ? Nic import ExtensionClass, Acquisition class Outer(ExtensionClass.Base): thing = ('help','donthelp') class Inner(Acquisition.Implicit): def __setattr__(self,name,value): if name in self.thing: self.__dict__['name'] = value else: print "Bad attribute" O = Outer() I = Inner() O.I = I print O.I.thing # is ok --> gives ('help','donthelp') O.I.help = 'me rhonda' # AttributeError: thing