[Checkins] SVN: z3c.form/trunk/ Added support for z3c.pt.

Malthe Borch mborch at gmail.com
Mon Sep 8 12:59:55 EDT 2008


Log message for revision 90956:
  Added support for z3c.pt.

Changed:
  U   z3c.form/trunk/CHANGES.txt
  U   z3c.form/trunk/setup.py
  U   z3c.form/trunk/src/z3c/form/browser/tests.py
  A   z3c.form/trunk/src/z3c/form/config.py
  U   z3c.form/trunk/src/z3c/form/error.py
  U   z3c.form/trunk/src/z3c/form/form.py
  U   z3c.form/trunk/src/z3c/form/testing.py
  U   z3c.form/trunk/src/z3c/form/tests/test_doc.py
  A   z3c.form/trunk/src/z3c/form/viewpagetemplatefile.py
  U   z3c.form/trunk/src/z3c/form/widget.py
  U   z3c.form/trunk/src/z3c/form/zcml.txt

-=-
Modified: z3c.form/trunk/CHANGES.txt
===================================================================
--- z3c.form/trunk/CHANGES.txt	2008-09-08 15:53:59 UTC (rev 90955)
+++ z3c.form/trunk/CHANGES.txt	2008-09-08 16:59:54 UTC (rev 90956)
@@ -5,6 +5,9 @@
 Version 2.0.0 (2008-??-??)
 --------------------------
 
+- Feature: Added support for ``z3c.pt``. Usage is switched on via the
+  "PREFER_Z3C_PT" environment variable. [malthe]
+
 - Refactoring: Templates now declare XML namespaces.
 
 - Refactoring: HTML output is now compared using a modified version of

Modified: z3c.form/trunk/setup.py
===================================================================
--- z3c.form/trunk/setup.py	2008-09-08 15:53:59 UTC (rev 90955)
+++ z3c.form/trunk/setup.py	2008-09-08 16:59:54 UTC (rev 90956)
@@ -81,6 +81,7 @@
             'zope.testing',
             'z3c.coverage',
             'z3c.template',
+            'z3c.pt',
             'zope.app.i18n',
             'lxml==2.1.1',
             ],

Modified: z3c.form/trunk/src/z3c/form/browser/tests.py
===================================================================
--- z3c.form/trunk/src/z3c/form/browser/tests.py	2008-09-08 15:53:59 UTC (rev 90955)
+++ z3c.form/trunk/src/z3c/form/browser/tests.py	2008-09-08 16:59:54 UTC (rev 90956)
@@ -9,6 +9,7 @@
 """
 __docformat__ = "reStructuredText"
 
+import itertools
 import doctest
 import unittest
 
@@ -19,80 +20,82 @@
 def test_suite():
     checker = testing.OutputChecker()
 
-    return unittest.TestSuite((
+    tests = ((
         DocFileSuite('README.txt',
-                     setUp=testing.setUp, tearDown=testing.tearDown,
+                     setUp=setUp, tearDown=testing.tearDown,
                      optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
                      checker=checker,
                      ),
         DocFileSuite('button.txt',
-                     setUp=testing.setUp, tearDown=testing.tearDown,
+                     setUp=setUp, tearDown=testing.tearDown,
                      optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
                      checker=checker,
                      ),
         DocFileSuite('checkbox.txt',
-                     setUp=testing.setUp, tearDown=testing.tearDown,
+                     setUp=setUp, tearDown=testing.tearDown,
                      optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
                      checker=checker,
                      ),
         DocFileSuite('file.txt',
-                     setUp=testing.setUp, tearDown=testing.tearDown,
+                     setUp=setUp, tearDown=testing.tearDown,
                      optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
                      checker=checker,
                      ),
         DocFileSuite('file-testing.txt',
-                     setUp=testing.setUp, tearDown=testing.tearDown,
+                     setUp=setUp, tearDown=testing.tearDown,
                      optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
                      checker=checker,
                      ),
         DocFileSuite('image.txt',
-                     setUp=testing.setUp, tearDown=testing.tearDown,
+                     setUp=setUp, tearDown=testing.tearDown,
                      optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
                      checker=checker,
                      ),
         DocFileSuite('orderedselect.txt',
-                     setUp=testing.setUp, tearDown=testing.tearDown,
+                     setUp=setUp, tearDown=testing.tearDown,
                      optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
                      checker=checker,
                      ),
         DocFileSuite('password.txt',
-                     setUp=testing.setUp, tearDown=testing.tearDown,
+                     setUp=setUp, tearDown=testing.tearDown,
                      optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
                      checker=checker,
                      ),
         DocFileSuite('radio.txt',
-                     setUp=testing.setUp, tearDown=testing.tearDown,
+                     setUp=setUp, tearDown=testing.tearDown,
                      optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
                      checker=checker,
                      ),
         DocFileSuite('select.txt',
-                     setUp=testing.setUp, tearDown=testing.tearDown,
+                     setUp=setUp, tearDown=testing.tearDown,
                      optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
                      checker=checker,
                      ),
         DocFileSuite('submit.txt',
-                     setUp=testing.setUp, tearDown=testing.tearDown,
+                     setUp=setUp, tearDown=testing.tearDown,
                      optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
                      checker=checker,
                      ),
         DocFileSuite('text.txt',
-                     setUp=testing.setUp, tearDown=testing.tearDown,
+                     setUp=setUp, tearDown=testing.tearDown,
                      optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
                      checker=checker,
                      ),
         DocFileSuite('textarea.txt',
-                     setUp=testing.setUp, tearDown=testing.tearDown,
+                     setUp=setUp, tearDown=testing.tearDown,
                      optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
                      checker=checker,
                      ),
         DocFileSuite('textlines.txt',
-                     setUp=testing.setUp, tearDown=testing.tearDown,
+                     setUp=setUp, tearDown=testing.tearDown,
                      optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
                      checker=checker,
                      ),
         DocFileSuite('multi.txt',
-                     setUp=testing.setUp, tearDown=testing.tearDown,
+                     setUp=setUp, tearDown=testing.tearDown,
                      optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
                      checker=checker,
-                     ),
-        ))
+                     ))
+             for setUp in (testing.setUpZPT, testing.setUpZ3CPT))
+
+    return unittest.TestSuite(itertools.chain(*tests))

Added: z3c.form/trunk/src/z3c/form/config.py
===================================================================
--- z3c.form/trunk/src/z3c/form/config.py	                        (rev 0)
+++ z3c.form/trunk/src/z3c/form/config.py	2008-09-08 16:59:54 UTC (rev 90956)
@@ -0,0 +1,5 @@
+import os
+
+PREFER_Z3C_PT = os.environ.get("PREFER_Z3C_PT", 'false').lower() in \
+                ('y', 'yes', 't', 'true', 'on', '1')
+

Modified: z3c.form/trunk/src/z3c/form/error.py
===================================================================
--- z3c.form/trunk/src/z3c/form/error.py	2008-09-08 15:53:59 UTC (rev 90955)
+++ z3c.form/trunk/src/z3c/form/error.py	2008-09-08 16:59:54 UTC (rev 90956)
@@ -20,7 +20,7 @@
 import zope.component
 import zope.interface
 import zope.schema
-from zope.app.pagetemplate import ViewPageTemplateFile
+from z3c.form.viewpagetemplatefile import ViewPageTemplateFile
 from zope.pagetemplate.interfaces import IPageTemplate
 
 import z3c.form

Modified: z3c.form/trunk/src/z3c/form/form.py
===================================================================
--- z3c.form/trunk/src/z3c/form/form.py	2008-09-08 15:53:59 UTC (rev 90955)
+++ z3c.form/trunk/src/z3c/form/form.py	2008-09-08 16:59:54 UTC (rev 90956)
@@ -21,7 +21,7 @@
 import zope.component
 import zope.event
 import zope.lifecycleevent
-from zope.app.pagetemplate import ViewPageTemplateFile
+from z3c.form.viewpagetemplatefile import ViewPageTemplateFile
 from zope.publisher import browser
 from zope.pagetemplate.interfaces import IPageTemplate
 from zope.schema.fieldproperty import FieldProperty

Modified: z3c.form/trunk/src/z3c/form/testing.py
===================================================================
--- z3c.form/trunk/src/z3c/form/testing.py	2008-09-08 15:53:59 UTC (rev 90955)
+++ z3c.form/trunk/src/z3c/form/testing.py	2008-09-08 16:59:54 UTC (rev 90956)
@@ -19,6 +19,8 @@
 import os
 import re
 import doctest
+import xml.parsers.expat
+
 import zope.component
 import zope.interface
 import zope.schema
@@ -32,10 +34,14 @@
 from zope.app.testing import setup
 from zope.testing.doctest import register_optionflag
 
+from z3c.form import config
+from z3c.form import viewpagetemplatefile
 from z3c.form import browser, button, converter, datamanager, error, field
 from z3c.form import form, interfaces, term, validator, widget
 from z3c.form.browser import radio, select, text
 
+import z3c.pt
+
 import lxml.html
 import lxml.doctestcompare
 
@@ -140,6 +146,17 @@
 def setUp(test):
     test.globs = {'root': setup.placefulSetUp(True)}
 
+def setUpZPT(suite):
+    config.PREFER_Z3C_PT = False
+    reload(viewpagetemplatefile)
+    setUp(suite)
+    
+def setUpZ3CPT(suite):
+    config.PREFER_Z3C_PT = True
+    reload(viewpagetemplatefile)
+    setUp(suite)
+    zope.configuration.xmlconfig.XMLConfig('configure.zcml', z3c.pt)()
+
 def setupFormDefaults():
     # Validator adapters
     zope.component.provideAdapter(validator.SimpleFieldValidator)

Modified: z3c.form/trunk/src/z3c/form/tests/test_doc.py
===================================================================
--- z3c.form/trunk/src/z3c/form/tests/test_doc.py	2008-09-08 15:53:59 UTC (rev 90955)
+++ z3c.form/trunk/src/z3c/form/tests/test_doc.py	2008-09-08 16:59:54 UTC (rev 90956)
@@ -17,6 +17,7 @@
 """
 __docformat__ = "reStructuredText"
 import unittest
+import itertools
 import re
 
 from zope.testing import doctest, renormalizing
@@ -26,11 +27,11 @@
 
 def test_suite():
     checker = testing.OutputChecker()
-    
-    return unittest.TestSuite((
+
+    tests = ((
         doctest.DocFileSuite(
             '../action.txt',
-            setUp=testing.setUp, tearDown=testing.tearDown,
+            setUp=setUp, tearDown=testing.tearDown,
             optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
             checker=checker,
             ),
@@ -42,7 +43,7 @@
             ),
         doctest.DocFileSuite(
             '../field.txt',
-            setUp=testing.setUp, tearDown=testing.tearDown,
+            setUp=setUp, tearDown=testing.tearDown,
             optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
             checker=checker,
             ),
@@ -54,43 +55,43 @@
             ),
         doctest.DocFileSuite(
             '../validator.txt',
-            setUp=testing.setUp, tearDown=testing.tearDown,
+            setUp=setUp, tearDown=testing.tearDown,
             optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
             checker=checker,
             ),
         doctest.DocFileSuite(
             '../term.txt',
-            setUp=testing.setUp, tearDown=testing.tearDown,
+            setUp=setUp, tearDown=testing.tearDown,
             optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
             checker=checker,
             ),
         doctest.DocFileSuite(
             '../error.txt',
-            setUp=testing.setUp, tearDown=testing.tearDown,
+            setUp=setUp, tearDown=testing.tearDown,
             optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
             checker=checker,
             ),
         doctest.DocFileSuite(
             '../widget.txt',
-            setUp=testing.setUp, tearDown=testing.tearDown,
+            setUp=setUp, tearDown=testing.tearDown,
             optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
             checker=checker,
             ),
         doctest.DocFileSuite(
             '../button.txt',
-            setUp=testing.setUp, tearDown=testing.tearDown,
+            setUp=setUp, tearDown=testing.tearDown,
             optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
             checker=checker,
             ),
         doctest.DocFileSuite(
             '../zcml.txt',
-            setUp=testing.setUp, tearDown=testing.tearDown,
+            setUp=setUp, tearDown=testing.tearDown,
             optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
             checker=checker,
             ),
         doctest.DocFileSuite(
             '../converter.txt',
-            setUp=testing.setUp, tearDown=testing.tearDown,
+            setUp=setUp, tearDown=testing.tearDown,
             optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
             checker=renormalizing.RENormalizing([
                  (re.compile(
@@ -100,32 +101,34 @@
             ),
         doctest.DocFileSuite(
             '../form.txt',
-            setUp=testing.setUp, tearDown=testing.tearDown,
+            setUp=setUp, tearDown=testing.tearDown,
             optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
             checker=checker,
             ),
         doctest.DocFileSuite(
             '../group.txt',
-            setUp=testing.setUp, tearDown=testing.tearDown,
+            setUp=setUp, tearDown=testing.tearDown,
             optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
             checker=checker,
             ),
         doctest.DocFileSuite(
             '../subform.txt',
-            setUp=testing.setUp, tearDown=testing.tearDown,
+            setUp=setUp, tearDown=testing.tearDown,
             optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
             checker=checker,
             ),
         doctest.DocFileSuite(
             '../util.txt',
-            setUp=testing.setUp, tearDown=testing.tearDown,
+            setUp=setUp, tearDown=testing.tearDown,
             optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
             checker=checker,
             ),
         doctest.DocFileSuite(
             '../adding.txt',
-            setUp=testing.setUp, tearDown=testing.tearDown,
+            setUp=setUp, tearDown=testing.tearDown,
             optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
             checker=checker,
-            ),
-        ))
+            ))
+        for setUp in (testing.setUpZPT, testing.setUpZ3CPT))
+
+    return unittest.TestSuite(itertools.chain(*tests))

Added: z3c.form/trunk/src/z3c/form/viewpagetemplatefile.py
===================================================================
--- z3c.form/trunk/src/z3c/form/viewpagetemplatefile.py	                        (rev 0)
+++ z3c.form/trunk/src/z3c/form/viewpagetemplatefile.py	2008-09-08 16:59:54 UTC (rev 90956)
@@ -0,0 +1,14 @@
+import config
+
+if config.PREFER_Z3C_PT:
+    from z3c.pt.pagetemplate import ViewPageTemplateFile
+
+    def bind_template(pt, view):
+        return pt.bind(view)    
+else:
+    from zope.app.pagetemplate.viewpagetemplatefile import ViewPageTemplateFile    
+    from zope.app.pagetemplate.viewpagetemplatefile import BoundPageTemplate as \
+         bind_template
+    
+class ViewPageTemplateFile(ViewPageTemplateFile):
+    pass

Modified: z3c.form/trunk/src/z3c/form/widget.py
===================================================================
--- z3c.form/trunk/src/z3c/form/widget.py	2008-09-08 15:53:59 UTC (rev 90955)
+++ z3c.form/trunk/src/z3c/form/widget.py	2008-09-08 16:59:54 UTC (rev 90956)
@@ -22,7 +22,7 @@
 import zope.location
 import zope.schema.interfaces
 from zope.pagetemplate.interfaces import IPageTemplate
-from zope.app.pagetemplate import ViewPageTemplateFile
+from z3c.form import viewpagetemplatefile
 from zope.i18n import translate
 from zope.schema.fieldproperty import FieldProperty
 
@@ -380,7 +380,8 @@
     def __init__(self, filename, contentType='text/html',
                  context=None, request=None, view=None,
                  field=None, widget=None):
-        self.template = ViewPageTemplateFile(filename, content_type=contentType)
+        self.template = viewpagetemplatefile.ViewPageTemplateFile(
+            filename, content_type=contentType)
         zope.component.adapter(
             util.getSpecification(context),
             util.getSpecification(request),

Modified: z3c.form/trunk/src/z3c/form/zcml.txt
===================================================================
--- z3c.form/trunk/src/z3c/form/zcml.txt	2008-09-08 15:53:59 UTC (rev 90955)
+++ z3c.form/trunk/src/z3c/form/zcml.txt	2008-09-08 16:59:54 UTC (rev 90956)
@@ -75,7 +75,7 @@
 and check it:
 
   >>> template
-  <zope.app.pagetemplate.viewpagetemplatefile.ViewPageTemplateFile ...>
+  <z3c.form.viewpagetemplatefile.ViewPageTemplateFile object at ...>
 
 Let's use the template within the widget.
 



More information about the Checkins mailing list