[Zope-Checkins] SVN: Zope/branches/2.9/ - fixed checkValidId, disallowing IDs starting with '@'

Yvo Schubbe y.2006_ at wcm-solutions.de
Fri Mar 10 13:01:49 EST 2006


Log message for revision 65903:
  - fixed checkValidId, disallowing IDs starting with '@'

Changed:
  U   Zope/branches/2.9/doc/CHANGES.txt
  U   Zope/branches/2.9/lib/python/OFS/ObjectManager.py
  U   Zope/branches/2.9/lib/python/OFS/tests/testObjectManager.py

-=-
Modified: Zope/branches/2.9/doc/CHANGES.txt
===================================================================
--- Zope/branches/2.9/doc/CHANGES.txt	2006-03-10 18:01:31 UTC (rev 65902)
+++ Zope/branches/2.9/doc/CHANGES.txt	2006-03-10 18:01:49 UTC (rev 65903)
@@ -18,6 +18,9 @@
 
     Bugs fixed
 
+      - OFS ObjectManager: Fixed 'checkValidId'.
+        Names starting with '@' are reserved for views and not allowed in IDs.
+
       - Missing import of NotFound in webdav.Resource.
 
   Zope 2.9.1  (2006/02/25)

Modified: Zope/branches/2.9/lib/python/OFS/ObjectManager.py
===================================================================
--- Zope/branches/2.9/lib/python/OFS/ObjectManager.py	2006-03-10 18:01:31 UTC (rev 65902)
+++ Zope/branches/2.9/lib/python/OFS/ObjectManager.py	2006-03-10 18:01:49 UTC (rev 65903)
@@ -82,6 +82,9 @@
         'The id "%s" is invalid because it begins with "aq_".' % id)
     if id.endswith('__'): raise BadRequest, (
         'The id "%s" is invalid because it ends with two underscores.' % id)
+    if id[0] == '@':
+        raise BadRequest('The id "%s" is invalid because it begins with '
+                         '"@".' % id)
     if not allow_dup:
         obj = getattr(self, id, None)
         if obj is not None:

Modified: Zope/branches/2.9/lib/python/OFS/tests/testObjectManager.py
===================================================================
--- Zope/branches/2.9/lib/python/OFS/tests/testObjectManager.py	2006-03-10 18:01:31 UTC (rev 65902)
+++ Zope/branches/2.9/lib/python/OFS/tests/testObjectManager.py	2006-03-10 18:01:49 UTC (rev 65903)
@@ -378,6 +378,7 @@
         self.assertRaises(BadRequest, om._setObject, '111', si)
         self.assertRaises(BadRequest, om._setObject, 'REQUEST', si)
         self.assertRaises(BadRequest, om._setObject, '/', si)
+        self.assertRaises(BadRequest, om._setObject, '@@view', si)
 
     def test_list_imports(self):
         om = self._makeOne()
@@ -389,6 +390,7 @@
             self.failUnless(filename.endswith('.zexp') or
                             filename.endswith('.xml'))
 
+
 def test_suite():
     suite = unittest.TestSuite()
     suite.addTest( unittest.makeSuite( ObjectManagerTests ) )



More information about the Zope-Checkins mailing list