[Zope-Checkins] CVS: Zope/lib/python/AccessControl -
SecurityInfo.py:1.17.12.1
Jim Fulton
cvs-admin at zope.org
Sat Nov 15 07:12:04 EST 2003
Update of /cvs-repository/Zope/lib/python/AccessControl
In directory cvs.zope.org:/tmp/cvs-serv24381/lib/python/AccessControl
Modified Files:
Tag: zodb33-devel-branch
SecurityInfo.py
Log Message:
Changed class modification code to use setattr rather than class
dictionary manipulation, since new-style class dictionaries are
immutable
=== Zope/lib/python/AccessControl/SecurityInfo.py 1.17 => 1.17.12.1 ===
--- Zope/lib/python/AccessControl/SecurityInfo.py:1.17 Wed Jul 9 12:24:57 2003
+++ Zope/lib/python/AccessControl/SecurityInfo.py Sat Nov 15 07:11:32 2003
@@ -162,7 +162,7 @@
ac_permissions = {}
for name, access in self.names.items():
if access in (ACCESS_PRIVATE, ACCESS_PUBLIC, ACCESS_NONE):
- dict['%s__roles__' % name] = access
+ setattr(classobj, '%s__roles__' % name, access)
else:
if not ac_permissions.has_key(access):
ac_permissions[access] = []
@@ -182,12 +182,13 @@
else:
entry = (permission_name, tuple(names))
__ac_permissions__.append(entry)
- dict['__ac_permissions__'] = tuple(__ac_permissions__)
+ setattr(classobj, '__ac_permissions__', tuple(__ac_permissions__))
# Take care of default attribute access policy
access = getattr(self, 'access', _marker)
if access is not _marker:
- dict['__allow_access_to_unprotected_subobjects__'] = access
+ setattr(classobj, '__allow_access_to_unprotected_subobjects__',
+ access)
if getattr(self, '_warnings', None):
LOG('SecurityInfo', WARNING, 'Class "%s" had conflicting '
More information about the Zope-Checkins
mailing list