[Checkins] SVN: z3c.form/trunk/ avoid unnecessary runtime dependency on ZODB3
David Glick
cvs-admin at zope.org
Tue Mar 20 03:19:44 UTC 2012
Log message for revision 124642:
avoid unnecessary runtime dependency on ZODB3
Changed:
U z3c.form/trunk/CHANGES.txt
U z3c.form/trunk/setup.py
U z3c.form/trunk/src/z3c/form/datamanager.py
-=-
Modified: z3c.form/trunk/CHANGES.txt
===================================================================
--- z3c.form/trunk/CHANGES.txt 2012-03-19 07:39:54 UTC (rev 124641)
+++ z3c.form/trunk/CHANGES.txt 2012-03-20 03:19:39 UTC (rev 124642)
@@ -5,7 +5,7 @@
2.6.2 (unreleased)
------------------
-- ...
+- Avoid dependency on ZODB3.
2.6.1 (2012-01-30)
------------------
Modified: z3c.form/trunk/setup.py
===================================================================
--- z3c.form/trunk/setup.py 2012-03-19 07:39:54 UTC (rev 124641)
+++ z3c.form/trunk/setup.py 2012-03-20 03:19:39 UTC (rev 124642)
@@ -92,6 +92,7 @@
'zope.app.publisher',
'zope.app.testing',
'zope.testing',
+ 'ZODB3',
],
zope34=[
'zope.app.component',
Modified: z3c.form/trunk/src/z3c/form/datamanager.py
===================================================================
--- z3c.form/trunk/src/z3c/form/datamanager.py 2012-03-19 07:39:54 UTC (rev 124641)
+++ z3c.form/trunk/src/z3c/form/datamanager.py 2012-03-20 03:19:39 UTC (rev 124642)
@@ -20,8 +20,6 @@
import zope.interface
import zope.component
import zope.schema
-import persistent.mapping
-import persistent.dict
from zope.interface.common import mapping
from zope.security.interfaces import ForbiddenAttribute
from zope.security.checker import canAccess, canWrite, Proxy
@@ -30,6 +28,16 @@
_marker = []
+ALLOWED_DATA_CLASSES = [dict]
+try:
+ import persistent.mapping
+ import persistent.dict
+ ALLOWED_DATA_CLASSES.append(persistent.mapping.PersistentMapping)
+ ALLOWED_DATA_CLASSES.append(persistent.dict.PersistentDict)
+except ImportError:
+ pass
+
+
class DataManager(object):
"""Data manager base class."""
zope.interface.implements(interfaces.IDataManager)
@@ -103,11 +111,7 @@
zope.component.adapts(
dict, zope.schema.interfaces.IField)
- _allowed_data_classes = (
- dict,
- persistent.mapping.PersistentMapping,
- persistent.dict.PersistentDict,
- )
+ _allowed_data_classes = tuple(ALLOWED_DATA_CLASSES)
def __init__(self, data, field):
if (not isinstance(data, self._allowed_data_classes) and
More information about the checkins
mailing list