[Checkins] SVN: megrok.layout/trunk/ Use new TemplateGrokker
Sylvain Viollon
sylvain at infrae.com
Tue Dec 7 10:50:21 EST 2010
Log message for revision 118747:
Use new TemplateGrokker
Changed:
U megrok.layout/trunk/docs/HISTORY.txt
U megrok.layout/trunk/setup.py
U megrok.layout/trunk/src/megrok/layout/meta.py
U megrok.layout/trunk/src/megrok/layout/tests/errors/norenderortemplatelayout.py
U megrok.layout/trunk/src/megrok/layout/tests/errors/renderandtemplate.py
-=-
Modified: megrok.layout/trunk/docs/HISTORY.txt
===================================================================
--- megrok.layout/trunk/docs/HISTORY.txt 2010-12-07 15:42:47 UTC (rev 118746)
+++ megrok.layout/trunk/docs/HISTORY.txt 2010-12-07 15:50:20 UTC (rev 118747)
@@ -1,6 +1,11 @@
Changelog
=========
+1.2.0 (unreleased)
+------------------
+
+- Update to use the new TemplateGrokker from grokcore.view.
+
1.1.0 (2010-03-03)
------------------
Modified: megrok.layout/trunk/setup.py
===================================================================
--- megrok.layout/trunk/setup.py 2010-12-07 15:42:47 UTC (rev 118746)
+++ megrok.layout/trunk/setup.py 2010-12-07 15:50:20 UTC (rev 118747)
@@ -17,7 +17,7 @@
]
setup(name='megrok.layout',
- version='1.1.0',
+ version='1.2.0dev',
description="A layout component package for zope3 and Grok.",
long_description = long_description,
classifiers=[
Modified: megrok.layout/trunk/src/megrok/layout/meta.py
===================================================================
--- megrok.layout/trunk/src/megrok/layout/meta.py 2010-12-07 15:42:47 UTC (rev 118746)
+++ megrok.layout/trunk/src/megrok/layout/meta.py 2010-12-07 15:50:20 UTC (rev 118747)
@@ -5,8 +5,23 @@
import grokcore.component
from megrok.layout import ILayout, Layout
from zope.publisher.interfaces.browser import IDefaultBrowserLayer
+from grokcore.view.meta.views import TemplateGrokker
+class LayoutTemplateGrokker(TemplateGrokker):
+ martian.component(Layout)
+
+ def has_render(self, factory):
+ render = getattr(factory, 'render', None)
+ base_method = getattr(render, 'base_method', False)
+ return render and not base_method
+
+ def has_no_render(self, factory):
+ render = getattr(factory, 'render', None)
+ base_method = getattr(render, 'base_method', False)
+ return render is None or base_method
+
+
class LayoutGrokker(martian.ClassGrokker):
martian.component(Layout)
martian.directive(grokcore.component.context)
@@ -18,14 +33,6 @@
name, factory, module_info, **kw)
def execute(self, factory, config, context, layer, **kw):
- # find templates
- templates = factory.module_info.getAnnotation('grok.templates', None)
- if templates is not None:
- config.action(
- discriminator=None,
- callable=self.checkTemplates,
- args=(templates, factory.module_info, factory))
-
adapts = (layer, context)
config.action(
discriminator=('adapter', adapts, ILayout),
@@ -33,17 +40,3 @@
args=(factory, adapts, ILayout),
)
return True
-
- def checkTemplates(self, templates, module_info, factory):
-
- def has_render(factory):
- render = getattr(factory, 'render', None)
- base_method = getattr(render, 'base_method', False)
- return render and not base_method
-
- def has_no_render(factory):
- render = getattr(factory, 'render', None)
- base_method = getattr(render, 'base_method', False)
- return render is None or base_method
- templates.checkTemplates(module_info, factory, 'view',
- has_render, has_no_render)
Modified: megrok.layout/trunk/src/megrok/layout/tests/errors/norenderortemplatelayout.py
===================================================================
--- megrok.layout/trunk/src/megrok/layout/tests/errors/norenderortemplatelayout.py 2010-12-07 15:42:47 UTC (rev 118746)
+++ megrok.layout/trunk/src/megrok/layout/tests/errors/norenderortemplatelayout.py 2010-12-07 15:50:20 UTC (rev 118747)
@@ -2,7 +2,7 @@
>>> grok.testing.grok(__name__)
Traceback (most recent call last):
...
- ConfigurationExecutionError: <class 'martian.error.GrokError'>: View <class 'megrok.layout.tests.errors.norenderortemplatelayout.MyLayout'> has no associated template or 'render' method.
+ ConfigurationExecutionError: <class 'martian.error.GrokError'>: Layout <class 'megrok.layout.tests.errors.norenderortemplatelayout.MyLayout'> has no associated template or 'render' method.
in:
<BLANKLINE>
"""
Modified: megrok.layout/trunk/src/megrok/layout/tests/errors/renderandtemplate.py
===================================================================
--- megrok.layout/trunk/src/megrok/layout/tests/errors/renderandtemplate.py 2010-12-07 15:42:47 UTC (rev 118746)
+++ megrok.layout/trunk/src/megrok/layout/tests/errors/renderandtemplate.py 2010-12-07 15:50:20 UTC (rev 118747)
@@ -2,7 +2,7 @@
>>> grok.testing.grok(__name__)
Traceback (most recent call last):
...
- ConfigurationExecutionError: <class 'martian.error.GrokError'>: Multiple possible ways to render view <class 'megrok.layout.tests.errors.renderandtemplate.MyLayout'>. It has both a 'render' method as well as an associated template.
+ ConfigurationExecutionError: <class 'martian.error.GrokError'>: Multiple possible ways to render layout <class 'megrok.layout.tests.errors.renderandtemplate.MyLayout'>. It has both a 'render' method as well as an associated template.
in:
<BLANKLINE>
"""
More information about the checkins
mailing list