[Checkins] SVN: grokcore.view/branches/reinout-christian-codeview/ Working progress...
Christian Klinger
cklinger at novareto.de
Fri Jul 3 07:28:46 EDT 2009
Log message for revision 101432:
Working progress...
Changed:
U grokcore.view/branches/reinout-christian-codeview/src/grokcore/view/meta/views.py
A grokcore.view/branches/reinout-christian-codeview/src/grokcore/view/tests/view/viewwithrender.py
U grokcore.view/branches/reinout-christian-codeview/versions.cfg
-=-
Modified: grokcore.view/branches/reinout-christian-codeview/src/grokcore/view/meta/views.py
===================================================================
--- grokcore.view/branches/reinout-christian-codeview/src/grokcore/view/meta/views.py 2009-07-03 11:05:56 UTC (rev 101431)
+++ grokcore.view/branches/reinout-christian-codeview/src/grokcore/view/meta/views.py 2009-07-03 11:28:46 UTC (rev 101432)
@@ -46,12 +46,18 @@
return super(ViewGrokker, self).grok(name, factory, module_info, **kw)
def execute(self, factory, config, context, layer, name, **kw):
+ # Make sure that we have a render Method
+ render = getattr(factory, 'render', None)
+ if render:
+ raise GrokError("View Class '%s' has a render method" % factory, factory)
+
# find templates
templates = factory.module_info.getAnnotation('grok.templates', None)
if templates is not None:
config.action(
discriminator=None,
callable=self.checkTemplates,
+ #callable=templates.checkTemplates(factory.module_info, factory, 'view', False, True),
args=(templates, factory.module_info, factory)
)
@@ -79,15 +85,14 @@
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
+ return False
def has_no_render(factory):
- return not getattr(factory, 'render', None)
+ return True
templates.checkTemplates(module_info, factory, 'view',
has_render, has_no_render)
+
class CodeViewGrokker(martian.ClassGrokker):
martian.component(components.CodeView)
martian.directive(grokcore.component.context)
Copied: grokcore.view/branches/reinout-christian-codeview/src/grokcore/view/tests/view/viewwithrender.py (from rev 101414, grokcore.view/branches/reinout-christian-codeview/src/grokcore/view/tests/view/view.py)
===================================================================
--- grokcore.view/branches/reinout-christian-codeview/src/grokcore/view/tests/view/viewwithrender.py (rev 0)
+++ grokcore.view/branches/reinout-christian-codeview/src/grokcore/view/tests/view/viewwithrender.py 2009-07-03 11:28:46 UTC (rev 101432)
@@ -0,0 +1,18 @@
+"""
+
+ >>> grok.testing.grok(__name__)
+ Traceback (most recent call last):
+ ...
+ GrokError: View Class '<class 'grokcore.view.tests.view.viewwithrender.CavePainting'>' has a render method
+
+"""
+
+import grokcore.view as grok
+
+class Mammoth(grok.Context):
+ pass
+
+class CavePainting(grok.View):
+
+ def render(self):
+ return 'A cave painting of a mammoth'
Modified: grokcore.view/branches/reinout-christian-codeview/versions.cfg
===================================================================
--- grokcore.view/branches/reinout-christian-codeview/versions.cfg 2009-07-03 11:05:56 UTC (rev 101431)
+++ grokcore.view/branches/reinout-christian-codeview/versions.cfg 2009-07-03 11:28:46 UTC (rev 101432)
@@ -102,7 +102,7 @@
zope.tal = 3.4.1
zope.tales = 3.4.0
zope.testbrowser = 3.4.2
-zope.testing = 3.5.6
+zope.testing = 3.7.5
zope.thread = 3.4
zope.traversing = 3.4.1
zope.viewlet = 3.4.2
More information about the Checkins
mailing list