[Zope-dev] Making Role.py's __ac_local_roles__ play nicely with
computed attributes
Christian Theune
ct at gocept.com
Thu Nov 25 08:29:53 EST 2004
Hi,
we currently have a project where we calculate local roles dynamically.
This involves using a computed attribute as an __ac_local_roles__
replacement. Unfortunately this doesn't mix too well with assigning them
manually, although our computed attribute takes care.
Why is this and what can we do against that?
__ac_local_roles__ is a dict. It's not a PersistentDictionary, but an
ordinary Python dict. Therefore, to obey the rules of persistence, the
Role.py local role machinery reassigns __ac_local_roles__ after every
change.
I'd like to change this, so that Role.py sets _p_changed instead, which
is what it tries to signal. Additionally you need to explicitly assign
__ac_local_roles__ instead of just getting
dict=self.__ac_local_roles__ or {}
so this becomes
dict=self.__ac_local_roles__
if dict is None:
self.__ac_local_roles = dict = {}
This change works without disrupting the unit tests and I would love to
get it on Zope 2.8. Any objections?
I take silence as a 'no objections'.
Cheers,
Christian
--
gocept gmbh & co. kg - schalaunische str. 6 - 06366 koethen - germany
www.gocept.com - ct at gocept.com - phone +49 3496 30 99 112 -
fax +49 3496 30 99 118 - zope and plone consulting and development
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Dies ist ein digital signierter Nachrichtenteil
Url : http://mail.zope.org/pipermail/zope-dev/attachments/20041125/fa50ba9e/attachment.bin
More information about the Zope-Dev
mailing list