[Checkins] SVN: persistent/trunk/ Don't enforce constraint that assigned jar implement IPersistentDataManager.

Tres Seaver cvs-admin at zope.org
Thu Jun 28 18:50:14 UTC 2012


Log message for revision 127147:
  Don't enforce constraint that assigned jar implement IPersistentDataManager.
  
  This makes the pure-Python implementation match the C version.

Changed:
  _U  persistent/trunk/
  U   persistent/trunk/persistent/interfaces.py
  U   persistent/trunk/persistent/pyPersistence.py
  U   persistent/trunk/persistent/tests/test_pyPersistence.py

-=-
Modified: persistent/trunk/persistent/interfaces.py
===================================================================
--- persistent/trunk/persistent/interfaces.py	2012-06-28 18:50:06 UTC (rev 127146)
+++ persistent/trunk/persistent/interfaces.py	2012-06-28 18:50:11 UTC (rev 127147)
@@ -19,10 +19,10 @@
 
 # Allowed values for _p_state
 try:
-    from .cPersistence import GHOST
-    from .cPersistence import UPTODATE
-    from .cPersistence import CHANGED
-    from .cPersistence import STICKY
+    from persistent.cPersistence import GHOST
+    from persistent.cPersistence import UPTODATE
+    from persistent.cPersistence import CHANGED
+    from persistent.cPersistence import STICKY
 except ImportError: #pragma NO COVER
     GHOST = -1
     UPTODATE = 0
@@ -169,7 +169,8 @@
     _p_jar = Attribute(
         """The data manager for the object.
 
-        The data manager implements the IPersistentDataManager interface.
+        The data manager should implement IPersistentDataManager (note that
+        this constraint is not enforced).
 
         If there is no data manager, then this is None.
 

Modified: persistent/trunk/persistent/pyPersistence.py
===================================================================
--- persistent/trunk/persistent/pyPersistence.py	2012-06-28 18:50:06 UTC (rev 127146)
+++ persistent/trunk/persistent/pyPersistence.py	2012-06-28 18:50:11 UTC (rev 127147)
@@ -70,8 +70,6 @@
             if self.__jar != value:
                 raise ValueError('Already assigned a data manager')
         else:
-            if not IPersistentDataManager.providedBy(value):
-                raise ValueError('Not a data manager: %s' % value)
             self.__jar = value
             self.__flags = 0
 

Modified: persistent/trunk/persistent/tests/test_pyPersistence.py
===================================================================
--- persistent/trunk/persistent/tests/test_pyPersistence.py	2012-06-28 18:50:06 UTC (rev 127146)
+++ persistent/trunk/persistent/tests/test_pyPersistence.py	2012-06-28 18:50:11 UTC (rev 127147)
@@ -74,12 +74,6 @@
             inst._p_jar = new_jar
         self.assertRaises(ValueError, _test)
 
-    def test_assign_p_jar_w_invalid_jar(self):
-        inst = self._makeOne()
-        def _test():
-            inst._p_jar = object()
-        self.assertRaises(ValueError, _test)
-
     def test_assign_p_jar_w_valid_jar(self):
         jar = self._makeJar()
         inst = self._makeOne()



More information about the checkins mailing list