[Checkins] SVN: grok/branches/jw-philipp-using-ndir-directives/src/grok/ Get nearly all unit tests to pass as we use the new-style directives. Mostly cosmetics.

Philipp von Weitershausen philikon at philikon.de
Sat May 3 09:57:57 EDT 2008


Log message for revision 86212:
  Get nearly all unit tests to pass as we use the new-style directives. Mostly cosmetics.

Changed:
  U   grok/branches/jw-philipp-using-ndir-directives/src/grok/meta.py
  U   grok/branches/jw-philipp-using-ndir-directives/src/grok/tests/viewlet/viewlet_ambiguous_manager.py

-=-
Modified: grok/branches/jw-philipp-using-ndir-directives/src/grok/meta.py
===================================================================
--- grok/branches/jw-philipp-using-ndir-directives/src/grok/meta.py	2008-05-03 13:51:07 UTC (rev 86211)
+++ grok/branches/jw-philipp-using-ndir-directives/src/grok/meta.py	2008-05-03 13:57:57 UTC (rev 86212)
@@ -57,6 +57,7 @@
 from grokcore.component.meta import get_context
 from grokcore.component.util import check_adapts
 from grokcore.component.util import determine_module_component
+from grokcore.component.util import check_module_component
 
 #  XXX helper moved back from grokcore.component
 def get_name_classname(factory):
@@ -591,7 +592,7 @@
     priority = PermissionGrokker.priority - 1
 
     def grok(self, name, factory, module_info, config, **kw):
-        id = grok.name.get(factory, None)
+        id = grok.name.get(factory)
         if not id:
             raise GrokError(
                 "A role needs to have a dotted name for its id. Use "
@@ -624,9 +625,7 @@
 
     def grok(self, name, factory, module_info, config, **kw):
         adapter_context = get_context(factory, module_info)
-        # XXX cannot use get_provides here, can we refactor others to reuse
-        # this bit?
-        provides = util.class_annotation(factory, 'grok.provides', None)
+        provides = grok.provides.get(factory)
         if provides is None:
             base_interfaces = interface.implementedBy(grok.Annotation)
             factory_interfaces = interface.implementedBy(factory)
@@ -634,8 +633,8 @@
             util.check_implements_one_from_list(real_interfaces, factory)
             provides = real_interfaces[0]
 
-        key = grok.name.get(factory, None)
-        if key is None:
+        key = grok.name.get(factory)
+        if not key:
             key = factory.__module__ + '.' + factory.__name__
 
         @component.adapter(adapter_context)
@@ -856,6 +855,8 @@
 
         viewletmanager = grok.viewletmanager.get(factory,
                                                  module_info.getModule())
+        check_module_component(
+            factory, viewletmanager, 'viewletmanager', grok.viewletmanager)
 
         config.action(
             discriminator = ('viewlet', viewlet_context, viewlet_layer,

Modified: grok/branches/jw-philipp-using-ndir-directives/src/grok/tests/viewlet/viewlet_ambiguous_manager.py
===================================================================
--- grok/branches/jw-philipp-using-ndir-directives/src/grok/tests/viewlet/viewlet_ambiguous_manager.py	2008-05-03 13:51:07 UTC (rev 86211)
+++ grok/branches/jw-philipp-using-ndir-directives/src/grok/tests/viewlet/viewlet_ambiguous_manager.py	2008-05-03 13:57:57 UTC (rev 86212)
@@ -5,7 +5,7 @@
   >>> grok.testing.grok(__name__)
   Traceback (most recent call last):
     ...
-  GrokError: Multiple possible viewletmanagers for <class 'grok.tests.viewlet.viewlet_ambiguous_manager.Viewlet'>, please use grok.viewletmanager.
+  GrokError: Multiple possible viewletmanagers for <class 'grok.tests.viewlet.viewlet_ambiguous_manager.Viewlet'>, please use the 'viewletmanager' directive.
 
 """
 



More information about the Checkins mailing list