Martijn Pieters wrote:
> > ...with this class, your_attribute isn't going to play in Persistence,
> > is it? (so I can update it lots without worrying about ZODB size
> > growing... :-)
> Yup, this allows you to alias your_attribute to _v_your_attribute without
> creating an attribute that *will* persist in the process.

yay! :-)

> your_attribute is set to one instead of the ComputedAttribute instance and
> concequently persisted. 

d'Oh... of course...

> If you want _set_your_attribute to be called, you
> need to override __setattr__:
>     def __setattr__(self, name, value):
>         setter = getattr(self, '_set_' + name, None)
>         if setter:
>             setter(value)
>         else:
>             raise AttributeError, "no such attribute: " + `name`

Hmmm... how would you change this to call the __setattr__ that was there
before you overrode it, if a setter could not be found?

cheers for all the help, this thread might make quite god docs for
ComputedAttribute ;-)


Zope-Dev maillist  -  [EMAIL PROTECTED]
**  No cross posts or HTML encoding!  **
(Related lists - )

Reply via email to