[Checkins] SVN: zope.browserpage/trunk/ Move tales:expressiontype from zope.app.pagetemplate here.
Martijn Faassen
faassen at startifact.com
Mon Apr 26 11:59:30 EDT 2010
Log message for revision 111431:
Move tales:expressiontype from zope.app.pagetemplate here.
Changed:
U zope.browserpage/trunk/CHANGES.txt
U zope.browserpage/trunk/setup.py
U zope.browserpage/trunk/src/zope/browserpage/meta.zcml
U zope.browserpage/trunk/src/zope/browserpage/metaconfigure.py
U zope.browserpage/trunk/src/zope/browserpage/metadirectives.py
A zope.browserpage/trunk/src/zope/browserpage/tests/test_expressiontype.py
-=-
Modified: zope.browserpage/trunk/CHANGES.txt
===================================================================
--- zope.browserpage/trunk/CHANGES.txt 2010-04-26 14:15:29 UTC (rev 111430)
+++ zope.browserpage/trunk/CHANGES.txt 2010-04-26 15:59:30 UTC (rev 111431)
@@ -2,9 +2,10 @@
CHANGES
=======
-3.11.1 (unreleased)
+3.12.0 (unreleased)
===================
+- Moved tales:expressiontype implementation from zope.app.pagetemplate here.
3.11.0 (2009-12-22)
===================
Modified: zope.browserpage/trunk/setup.py
===================================================================
--- zope.browserpage/trunk/setup.py 2010-04-26 14:15:29 UTC (rev 111430)
+++ zope.browserpage/trunk/setup.py 2010-04-26 15:59:30 UTC (rev 111431)
@@ -19,7 +19,7 @@
open('CHANGES.txt').read())
setup(name='zope.browserpage',
- version = '3.11.1dev',
+ version = '3.12.0dev',
url='http://pypi.python.org/pypi/zope.browserpage/',
author='Zope Corporation and Contributors',
author_email='zope-dev at zope.org',
Modified: zope.browserpage/trunk/src/zope/browserpage/meta.zcml
===================================================================
--- zope.browserpage/trunk/src/zope/browserpage/meta.zcml 2010-04-26 14:15:29 UTC (rev 111430)
+++ zope.browserpage/trunk/src/zope/browserpage/meta.zcml 2010-04-26 15:59:30 UTC (rev 111431)
@@ -41,4 +41,13 @@
</meta:directives>
+ <meta:directives namespace="http://namespaces.zope.org/tales">
+
+ <meta:directive name="expressiontype"
+ schema=".metadirectives.IExpressionTypeDirective"
+ handler=".metaconfigure.expressiontype"
+ />
+
+ </meta:directives>
+
</configure>
Modified: zope.browserpage/trunk/src/zope/browserpage/metaconfigure.py
===================================================================
--- zope.browserpage/trunk/src/zope/browserpage/metaconfigure.py 2010-04-26 14:15:29 UTC (rev 111430)
+++ zope.browserpage/trunk/src/zope/browserpage/metaconfigure.py 2010-04-26 15:59:30 UTC (rev 111431)
@@ -435,6 +435,13 @@
return False
+def expressiontype(_context, name, handler):
+ _context.action(
+ discriminator = ("tales:expressiontype", name),
+ callable = registerType,
+ args = (name, handler)
+ )
+
def registerType(name, handler):
Engine.registerType(name, handler)
TrustedEngine.registerType(name, handler)
Modified: zope.browserpage/trunk/src/zope/browserpage/metadirectives.py
===================================================================
--- zope.browserpage/trunk/src/zope/browserpage/metadirectives.py 2010-04-26 14:15:29 UTC (rev 111430)
+++ zope.browserpage/trunk/src/zope/browserpage/metadirectives.py 2010-04-26 15:59:30 UTC (rev 111431)
@@ -187,3 +187,20 @@
The page directive creates a new view class from a given template
and/or class and registers it.
"""
+
+class IExpressionTypeDirective(Interface):
+ """Register a new TALES expression type"""
+
+ name = TextLine(
+ title=u"Name",
+ description=u"""Name of the expression. This will also be used
+ as the prefix in actual TALES expressions.""",
+ required=True
+ )
+
+ handler = GlobalObject(
+ title=u"Handler",
+ description=u"""Handler is class that implements
+ zope.tales.interfaces.ITALESExpression.""",
+ required=True
+ )
Copied: zope.browserpage/trunk/src/zope/browserpage/tests/test_expressiontype.py (from rev 111382, zope.app.pagetemplate/trunk/src/zope/app/pagetemplate/tests/test_directives.py)
===================================================================
--- zope.browserpage/trunk/src/zope/browserpage/tests/test_expressiontype.py (rev 0)
+++ zope.browserpage/trunk/src/zope/browserpage/tests/test_expressiontype.py 2010-04-26 15:59:30 UTC (rev 111431)
@@ -0,0 +1,60 @@
+##############################################################################
+#
+# Copyright (c) 2003 Zope Corporation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""Tests to check talesapi zcml configuration
+
+$Id$
+"""
+import unittest
+
+from cStringIO import StringIO
+from zope.configuration.xmlconfig import xmlconfig, XMLConfig
+from zope.pagetemplate.engine import Engine
+import zope.browserpage
+
+from zope.component.testing import PlacelessSetup
+
+template = """<configure
+ xmlns='http://namespaces.zope.org/zope'
+ xmlns:tales='http://namespaces.zope.org/tales'>
+ %s
+ </configure>"""
+
+
+class Handler(object):
+ pass
+
+class Test(PlacelessSetup, unittest.TestCase):
+
+ def setUp(self):
+ super(Test, self).setUp()
+ XMLConfig('meta.zcml', zope.browserpage)()
+
+ def testExpressionType(self):
+ xmlconfig(StringIO(template % (
+ """
+ <tales:expressiontype
+ name="test"
+ handler="zope.browserpage.tests.test_expressiontype.Handler"
+ />
+ """
+ )))
+ self.assert_("test" in Engine.getTypes())
+ self.assert_(Handler is Engine.getTypes()['test'])
+
+def test_suite():
+ loader=unittest.TestLoader()
+ return loader.loadTestsFromTestCase(Test)
+
+if __name__=='__main__':
+ unittest.TextTestRunner().run(test_suite())
Property changes on: zope.browserpage/trunk/src/zope/browserpage/tests/test_expressiontype.py
___________________________________________________________________
Added: cvs2svn:cvs-rev
+ 1.10
Added: svn:keywords
+ Id
Added: svn:mergeinfo
+
Added: svn:eol-style
+ native
More information about the checkins
mailing list