[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