[Checkins] SVN: five.grok/trunk/ Use zope 2 templates rather than
zope 3 ones.
Martin Aspeli
optilude at gmx.net
Sun Aug 3 18:44:30 EDT 2008
Log message for revision 89325:
Use zope 2 templates rather than zope 3 ones.
Changed:
U five.grok/trunk/docs/HISTORY.txt
U five.grok/trunk/src/five/grok/README.txt
U five.grok/trunk/src/five/grok/components.py
U five.grok/trunk/src/five/grok/configure.zcml
A five.grok/trunk/src/five/grok/overrides.zcml
A five.grok/trunk/src/five/grok/templatereg.py
U five.grok/trunk/src/five/grok/testing.py
U five.grok/trunk/src/five/grok/tests/all/all_test_templates/grokvillageview.pt
-=-
Modified: five.grok/trunk/docs/HISTORY.txt
===================================================================
--- five.grok/trunk/docs/HISTORY.txt 2008-08-03 22:42:00 UTC (rev 89324)
+++ five.grok/trunk/docs/HISTORY.txt 2008-08-03 22:44:30 UTC (rev 89325)
@@ -5,6 +5,10 @@
five.grok - 0.1 Unreleased
+ - Added override to make templates use Five's ViewPageTemplateFile instead
+ of the one from zope.app.pagetemplate
+ [optilude]
+
- Added tests for grok.subscriber directive
[kamon]
Modified: five.grok/trunk/src/five/grok/README.txt
===================================================================
--- five.grok/trunk/src/five/grok/README.txt 2008-08-03 22:42:00 UTC (rev 89324)
+++ five.grok/trunk/src/five/grok/README.txt 2008-08-03 22:44:30 UTC (rev 89325)
@@ -221,6 +221,10 @@
<div>
In cave belgian-cave there is 3 cavewomen.
</div>
+ <div>
+ And just to prove that we have a Zope 2 template, let's do something
+ ugly: <b>amsterdam</b>
+ </div>
</body>
</html>
<BLANKLINE>
Modified: five.grok/trunk/src/five/grok/components.py
===================================================================
--- five.grok/trunk/src/five/grok/components.py 2008-08-03 22:42:00 UTC (rev 89324)
+++ five.grok/trunk/src/five/grok/components.py 2008-08-03 22:44:30 UTC (rev 89325)
@@ -1,3 +1,5 @@
+import martian
+
from zope import interface
from zope.annotation.interfaces import IAttributeAnnotatable
Modified: five.grok/trunk/src/five/grok/configure.zcml
===================================================================
--- five.grok/trunk/src/five/grok/configure.zcml 2008-08-03 22:42:00 UTC (rev 89324)
+++ five.grok/trunk/src/five/grok/configure.zcml 2008-08-03 22:44:30 UTC (rev 89325)
@@ -4,6 +4,8 @@
xmlns:zcml="http://namespaces.zope.org/zcml"
i18n_domain="five.grok">
+ <include package="grokcore.view" />
+
<browser:defaultView
for="grokcore.component.interfaces.IContext"
name="index"
@@ -14,5 +16,7 @@
title="View"
zcml:condition="not-installed kss.core"
/>
+
+ <includeOverrides file="overrides.zcml" />
</configure>
Added: five.grok/trunk/src/five/grok/overrides.zcml
===================================================================
--- five.grok/trunk/src/five/grok/overrides.zcml (rev 0)
+++ five.grok/trunk/src/five/grok/overrides.zcml 2008-08-03 22:44:30 UTC (rev 89325)
@@ -0,0 +1,7 @@
+<configure
+ xmlns="http://namespaces.zope.org/zope"
+ xmlns:grok="http://namespaces.zope.org/grok">
+
+ <grok:grok package=".templatereg" />
+
+</configure>
Added: five.grok/trunk/src/five/grok/templatereg.py
===================================================================
--- five.grok/trunk/src/five/grok/templatereg.py (rev 0)
+++ five.grok/trunk/src/five/grok/templatereg.py 2008-08-03 22:44:30 UTC (rev 89325)
@@ -0,0 +1,27 @@
+import grokcore.component
+
+from grokcore.view.components import PageTemplate
+from grokcore.view.interfaces import ITemplateFileFactory
+
+from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
+
+class ZopeTwoPageTemplate(PageTemplate):
+
+ def setFromString(self, string):
+ raise NotImplemented
+
+ def setFromFilename(self, filename, _prefix=None):
+ self._template = ViewPageTemplateFile(filename, _prefix)
+
+ def render(self, view):
+ namespace = self.getNamespace(view)
+ template = self._template.__of__(view)
+ namespace.update(template.pt_getContext())
+ return template(namespace)
+
+class ZopeTwoPageTemplateFileFactory(grokcore.component.GlobalUtility):
+ grokcore.component.implements(ITemplateFileFactory)
+ grokcore.component.name('pt')
+
+ def __call__(self, filename, _prefix=None):
+ return ZopeTwoPageTemplate(filename=filename, _prefix=_prefix)
\ No newline at end of file
Modified: five.grok/trunk/src/five/grok/testing.py
===================================================================
--- five.grok/trunk/src/five/grok/testing.py 2008-08-03 22:42:00 UTC (rev 89324)
+++ five.grok/trunk/src/five/grok/testing.py 2008-08-03 22:44:30 UTC (rev 89325)
@@ -23,7 +23,9 @@
config = ConfigurationMachine()
zcml.do_grok('grokcore.component.meta', config)
zcml.do_grok('grokcore.view.meta', config)
- zcml.do_grok('grokcore.view.templatereg', config)
+ # Use the Five override for the page template factory
+ # zcml.do_grok('grokcore.view.templatereg', config)
+ zcml.do_grok('five.grok.templatereg', config)
zcml.do_grok('five.grok.meta', config)
zcml.do_grok(module_name, config)
config.execute_actions()
Modified: five.grok/trunk/src/five/grok/tests/all/all_test_templates/grokvillageview.pt
===================================================================
--- five.grok/trunk/src/five/grok/tests/all/all_test_templates/grokvillageview.pt 2008-08-03 22:42:00 UTC (rev 89324)
+++ five.grok/trunk/src/five/grok/tests/all/all_test_templates/grokvillageview.pt 2008-08-03 22:44:30 UTC (rev 89325)
@@ -3,5 +3,9 @@
<div tal:repeat="cave view/getCaves">
In cave <span tal:replace="cave/id"/> there is <span tal:replace="cave/caveWomen"/> cavewomen.
</div>
+<div>
+ And just to prove that we have a Zope 2 template, let's do something
+ ugly: <b tal:content="here/id" />
+</div>
</body>
</html>
More information about the Checkins
mailing list