[Checkins] SVN: grokcore.viewlet/trunk/ Update to use the new TemplateGrokker.
Sylvain Viollon
sylvain at infrae.com
Tue Dec 7 10:39:22 EST 2010
Log message for revision 118745:
Update to use the new TemplateGrokker.
Changed:
U grokcore.viewlet/trunk/CHANGES.txt
U grokcore.viewlet/trunk/src/grokcore/viewlet/meta.py
-=-
Modified: grokcore.viewlet/trunk/CHANGES.txt
===================================================================
--- grokcore.viewlet/trunk/CHANGES.txt 2010-12-07 15:37:30 UTC (rev 118744)
+++ grokcore.viewlet/trunk/CHANGES.txt 2010-12-07 15:39:22 UTC (rev 118745)
@@ -4,7 +4,8 @@
1.8 (unreleased)
----------------
-- Nothing changed yet.
+- Update to use TemplateGrokker from grokcore.view to associate
+ viewlet and viewletmanager templates.
1.7 (2010-11-03)
Modified: grokcore.viewlet/trunk/src/grokcore/viewlet/meta.py
===================================================================
--- grokcore.viewlet/trunk/src/grokcore/viewlet/meta.py 2010-12-07 15:37:30 UTC (rev 118744)
+++ grokcore.viewlet/trunk/src/grokcore/viewlet/meta.py 2010-12-07 15:39:22 UTC (rev 118745)
@@ -18,20 +18,27 @@
from zope.viewlet.interfaces import IViewletManager, IViewlet
import martian
-from martian.util import scan_for_classes
-from martian.error import GrokError
import grokcore.component
-from grokcore.component.interfaces import IContext
import grokcore.view
-from grokcore.view.meta.views import default_view_name
+from grokcore.view.meta.views import default_view_name, TemplateGrokker
import grokcore.security
import grokcore.viewlet
from grokcore.viewlet import components
from grokcore.viewlet.util import make_checker
-from grokcore.viewlet.interfaces import IViewletManager as IGrokViewletManager
+class ViewletManagerTemplateGrokker(TemplateGrokker):
+ martian.component(grokcore.viewlet.ViewletManager)
+
+ def has_render(self, factory):
+ return factory.render != components.ViewletManager.render
+
+ def has_no_render(self, factory):
+ # always has a render method
+ return False
+
+
class ViewletManagerGrokker(martian.ClassGrokker):
martian.component(grokcore.viewlet.ViewletManager)
martian.directive(grokcore.component.context)
@@ -50,32 +57,23 @@
# This will be used to support __name__ on the viewlet manager
factory.__view_name__ = name
- # 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))
-
config.action(
discriminator=('viewletManager', context, layer, view, name),
callable=component.provideAdapter,
args=(factory, (context, layer, view), IViewletManager, name))
return True
- def checkTemplates(self, templates, module_info, factory):
- def has_render(factory):
- return factory.render != components.ViewletManager.render
+class ViewletTemplateGrokker(TemplateGrokker):
+ martian.component(grokcore.viewlet.Viewlet)
- def has_no_render(factory):
- # always has a render method
- return False
+ def has_render(self, factory):
+ return factory.render != components.Viewlet.render
- templates.checkTemplates(module_info, factory, 'viewlet manager',
- has_render, has_no_render)
+ def has_no_render(self, factory):
+ return not self.has_render(factory)
+
class ViewletGrokker(martian.ClassGrokker):
martian.component(grokcore.viewlet.Viewlet)
martian.directive(grokcore.component.context)
@@ -97,14 +95,6 @@
# This will be used to support __name__ on the viewlet
factory.__view_name__ = name
- # 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))
-
config.action(
discriminator=(
'viewlet', context, layer, view, viewletmanager, name),
@@ -118,14 +108,3 @@
args=(factory, factory, permission, ['update', 'render']))
return True
-
- def checkTemplates(self, templates, module_info, factory):
-
- def has_render(factory):
- return factory.render != components.Viewlet.render
-
- def has_no_render(factory):
- return not has_render(factory)
-
- templates.checkTemplates(module_info, factory, 'viewlet',
- has_render, has_no_render)
More information about the checkins
mailing list