[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