[Checkins] SVN: zope.security/trunk/ Add zope.i18nmessage.Message to non-proxied basic types, as it's immutable and it was done by zope.app.security.

Dan Korostelev nadako at gmail.com
Wed Mar 11 23:09:06 EDT 2009


Log message for revision 97949:
  Add zope.i18nmessage.Message to non-proxied basic types, as it's immutable and it was done by zope.app.security.
  
  Add __name__ and __parent__ to list of available by default attributes. It was also done by zope.app.security before.

Changed:
  U   zope.security/trunk/CHANGES.txt
  U   zope.security/trunk/src/zope/security/checker.py
  U   zope.security/trunk/src/zope/security/tests/test_checker.py

-=-
Modified: zope.security/trunk/CHANGES.txt
===================================================================
--- zope.security/trunk/CHANGES.txt	2009-03-12 02:46:14 UTC (rev 97948)
+++ zope.security/trunk/CHANGES.txt	2009-03-12 03:09:05 UTC (rev 97949)
@@ -5,6 +5,12 @@
 3.6.2 (unreleased)
 ------------------
 
+- Add zope.i18nmessageid.Message to non-proxied basic types. It's okay, because
+  messages are immutable. It was done by zope.app.security before.
+
+- Add "__name__" and "__parent__" attributes to list of available by default.
+  This was also done by zope.app.security package before.
+
 - Added PermissionsVocabulary and PermissionIdsVocabulary vocabularies
   to the ``zope.security.permission`` module. They were moved from
   the ``zope.app.security`` package.

Modified: zope.security/trunk/src/zope/security/checker.py
===================================================================
--- zope.security/trunk/src/zope/security/checker.py	2009-03-12 02:46:14 UTC (rev 97948)
+++ zope.security/trunk/src/zope/security/checker.py	2009-03-12 03:09:05 UTC (rev 97949)
@@ -37,6 +37,7 @@
 import zope.interface.interface
 import zope.interface.interfaces
 import zope.interface.declarations
+from zope.i18nmessageid import Message
 from zope.interface import directlyProvides, Interface, implements
 from zope.interface.interfaces import IInterface, IDeclaration
 
@@ -564,6 +565,7 @@
                             '__hash__', '__nonzero__',
                             '__class__', '__providedBy__', '__implements__',
                             '__repr__', '__conform__',
+                            '__name__', '__parent__',
                             ]
 
 _callableChecker = NamesChecker(['__str__', '__name__', '__call__'])
@@ -612,6 +614,7 @@
     types.NoneType: NoProxy,
     str: NoProxy,
     unicode: NoProxy,
+    Message: NoProxy, # Messages are immutable, so it's okay
     bool: NoProxy,
     datetime.timedelta: NoProxy,
     datetime.datetime: NoProxy,
@@ -635,7 +638,8 @@
     datetime.timedelta: datetime.timedelta(3),
     datetime.datetime: datetime.datetime(2003, 1, 1),
     datetime.date: datetime.date(2003, 1, 1),
-    datetime.time: datetime.time(23, 58)
+    datetime.time: datetime.time(23, 58),
+    Message: Message('message', domain='hello')
 }
 
 

Modified: zope.security/trunk/src/zope/security/tests/test_checker.py
===================================================================
--- zope.security/trunk/src/zope/security/tests/test_checker.py	2009-03-12 02:46:14 UTC (rev 97948)
+++ zope.security/trunk/src/zope/security/tests/test_checker.py	2009-03-12 03:09:05 UTC (rev 97949)
@@ -322,6 +322,8 @@
         self.assertEqual(checker.check(C, '__ge__'), None)
         self.assertEqual(checker.check(C, '__eq__'), None)
         self.assertEqual(checker.check(C, '__ne__'), None)
+        self.assertEqual(checker.check(C, '__name__'), None)
+        self.assertEqual(checker.check(C, '__parent__'), None)
 
     def test_setattr(self):
         checker = NamesChecker(['a', 'b', 'c', '__getitem__'],



More information about the Checkins mailing list