[Checkins] SVN: grokcore.viewlet/trunk/src/grokcore/viewlet/ no need to pass the default value function anymore. the default viewlet lookup is now intrisic to the viewletmanager directive too
Jan-Wijbrand Kolman
janwijbrand at gmail.com
Wed Nov 3 10:14:19 EDT 2010
Log message for revision 118166:
no need to pass the default value function anymore. the default viewlet lookup is now intrisic to the viewletmanager directive too
Changed:
U grokcore.viewlet/trunk/src/grokcore/viewlet/directive.py
U grokcore.viewlet/trunk/src/grokcore/viewlet/meta.py
-=-
Modified: grokcore.viewlet/trunk/src/grokcore/viewlet/directive.py
===================================================================
--- grokcore.viewlet/trunk/src/grokcore/viewlet/directive.py 2010-11-03 14:13:39 UTC (rev 118165)
+++ grokcore.viewlet/trunk/src/grokcore/viewlet/directive.py 2010-11-03 14:14:19 UTC (rev 118166)
@@ -15,8 +15,27 @@
"""
import martian
+from martian.util import scan_for_classes
+from martian.error import GrokError
+from grokcore.viewlet.interfaces import IViewletManager
class viewletmanager(martian.Directive):
scope = martian.CLASS_OR_MODULE
store = martian.ONCE
validate = martian.validateInterfaceOrClass
+
+ @classmethod
+ def get_default(cls, component, module=None, **data):
+ components = list(scan_for_classes(module, IViewletManager))
+ if len(components) == 0:
+ raise GrokError(
+ "No module-level viewletmanager for %r, please use the "
+ "'viewletmanager' directive." % (component), component)
+ elif len(components) == 1:
+ component = components[0]
+ else:
+ raise GrokError(
+ "Multiple possible viewletmanagers for %r, please use the "
+ "'viewletmanager' directive."
+ % (component), component)
+ return component
Modified: grokcore.viewlet/trunk/src/grokcore/viewlet/meta.py
===================================================================
--- grokcore.viewlet/trunk/src/grokcore/viewlet/meta.py 2010-11-03 14:13:39 UTC (rev 118165)
+++ grokcore.viewlet/trunk/src/grokcore/viewlet/meta.py 2010-11-03 14:14:19 UTC (rev 118166)
@@ -23,21 +23,18 @@
import grokcore.component
from grokcore.component.interfaces import IContext
-from grokcore.component.meta import default_context
import grokcore.view
+from grokcore.view.meta.views import default_view_name
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
-from grokcore.view.meta.views import default_view_name
-
class ViewletManagerGrokker(martian.ClassGrokker):
martian.component(grokcore.viewlet.ViewletManager)
- martian.directive(grokcore.component.context, get_default=default_context)
+ martian.directive(grokcore.component.context)
martian.directive(grokcore.view.layer, default=IDefaultBrowserLayer)
martian.directive(grokcore.viewlet.view)
martian.directive(grokcore.component.name, get_default=default_view_name)
@@ -79,28 +76,12 @@
templates.checkTemplates(module_info, factory, 'viewlet manager',
has_render, has_no_render)
-def default_viewletmanager(factory, module, **data):
- components = list(scan_for_classes(module, IGrokViewletManager))
- if len(components) == 0:
- raise GrokError(
- "No module-level viewletmanager for %r, please use the "
- "'viewletmanager' directive." % (factory), factory)
- elif len(components) == 1:
- component = components[0]
- else:
- raise GrokError(
- "Multiple possible viewletmanagers for %r, please use the "
- "'viewletmanager' directive."
- % (factory), factory)
- return component
-
class ViewletGrokker(martian.ClassGrokker):
martian.component(grokcore.viewlet.Viewlet)
- martian.directive(grokcore.component.context, get_default=default_context)
+ martian.directive(grokcore.component.context)
martian.directive(grokcore.view.layer, default=IDefaultBrowserLayer)
martian.directive(grokcore.viewlet.view)
- martian.directive(
- grokcore.viewlet.viewletmanager, get_default=default_viewletmanager)
+ martian.directive(grokcore.viewlet.viewletmanager)
martian.directive(grokcore.component.name, get_default=default_view_name)
martian.directive(grokcore.security.require, name='permission')
More information about the checkins
mailing list