[Checkins] SVN: grok/branches/gotcha-configuration-actions/src/grok/ Fix the discriminator of the multiadapter grokker

Philipp von Weitershausen philikon at philikon.de
Tue Oct 9 11:42:33 EDT 2007


Log message for revision 80748:
  Fix the discriminator of the multiadapter grokker
  
  Use configuration actions in the XMLRPC grokker, fix exception tests subsequently.
  

Changed:
  U   grok/branches/gotcha-configuration-actions/src/grok/meta.py
  U   grok/branches/gotcha-configuration-actions/src/grok/tests/security/missing_permission_xmlrpc.py
  U   grok/branches/gotcha-configuration-actions/src/grok/tests/security/missing_permission_xmlrpc2.py
  U   grok/branches/gotcha-configuration-actions/src/grok/tests/security/missing_permission_xmlrpc3.py

-=-
Modified: grok/branches/gotcha-configuration-actions/src/grok/meta.py
===================================================================
--- grok/branches/gotcha-configuration-actions/src/grok/meta.py	2007-10-09 15:32:02 UTC (rev 80747)
+++ grok/branches/gotcha-configuration-actions/src/grok/meta.py	2007-10-09 15:42:33 UTC (rev 80748)
@@ -74,9 +74,10 @@
             util.check_implements_one(factory)
         check_adapts(factory)
         name = util.class_annotation(factory, 'grok.name', '')
+        for_ = component.adaptedBy(factory)
 
         config.action(
-            discriminator=('adapter', provides, name),
+            discriminator=('adapter', for_, provides, name),
             callable=component.provideAdapter,
             args=(factory, None, provides, name),
             )
@@ -118,17 +119,26 @@
                 factory.__name__, (factory, MethodPublisher),
                 {'__call__': method}
                 )
-            component.provideAdapter(
-                method_view, (view_context, IXMLRPCRequest),
-                interface.Interface,
-                name=method.__name__)
+            adapts = (view_context, IXMLRPCRequest)
+            name = method.__name__
 
+            config.action(
+                discriminator=('adapter', adapts, interface.Interface, name),
+                callable=component.provideAdapter,
+                args=(method_view, adapts, interface.Interface, name),
+                )
+
             # Protect method_view with either the permission that was
             # set on the method, the default permission from the class
             # level or zope.Public.
             permission = getattr(method, '__grok_require__',
                                  default_permission)
-            make_checker(factory, method_view, permission)
+
+            config.action(
+                discriminator=('protectName', method_view, '__call__'),
+                callable=make_checker,
+                args=(factory, method_view, permission),
+                )
         return True
 
 

Modified: grok/branches/gotcha-configuration-actions/src/grok/tests/security/missing_permission_xmlrpc.py
===================================================================
--- grok/branches/gotcha-configuration-actions/src/grok/tests/security/missing_permission_xmlrpc.py	2007-10-09 15:32:02 UTC (rev 80747)
+++ grok/branches/gotcha-configuration-actions/src/grok/tests/security/missing_permission_xmlrpc.py	2007-10-09 15:42:33 UTC (rev 80748)
@@ -4,9 +4,9 @@
 
   >>> grok.tests.grok(__name__)
   Traceback (most recent call last):
-  GrokError: Undefined permission 'doesnt.exist' in <class
-  'grok.tests.security.missing_permission_xmlrpc.MissingPermission'>. Use
-  grok.Permission first.
+  ...
+  ConfigurationExecutionError: martian.error.GrokError: Undefined permission 'doesnt.exist' in <class 'grok.tests.security.missing_permission_xmlrpc.MissingPermission'>. Use grok.Permission first.
+  ...
 
 """
 

Modified: grok/branches/gotcha-configuration-actions/src/grok/tests/security/missing_permission_xmlrpc2.py
===================================================================
--- grok/branches/gotcha-configuration-actions/src/grok/tests/security/missing_permission_xmlrpc2.py	2007-10-09 15:32:02 UTC (rev 80747)
+++ grok/branches/gotcha-configuration-actions/src/grok/tests/security/missing_permission_xmlrpc2.py	2007-10-09 15:42:33 UTC (rev 80748)
@@ -4,9 +4,9 @@
 
   >>> grok.tests.grok(__name__)
   Traceback (most recent call last):
-  GrokError: Undefined permission 'doesnt.exist' in <class
-  'grok.tests.security.missing_permission_xmlrpc2.MissingPermission'>. Use
-  grok.Permission first.
+  ...
+  ConfigurationExecutionError: martian.error.GrokError: Undefined permission 'doesnt.exist' in <class 'grok.tests.security.missing_permission_xmlrpc2.MissingPermission'>. Use grok.Permission first.
+  ...
 
 """
 

Modified: grok/branches/gotcha-configuration-actions/src/grok/tests/security/missing_permission_xmlrpc3.py
===================================================================
--- grok/branches/gotcha-configuration-actions/src/grok/tests/security/missing_permission_xmlrpc3.py	2007-10-09 15:32:02 UTC (rev 80747)
+++ grok/branches/gotcha-configuration-actions/src/grok/tests/security/missing_permission_xmlrpc3.py	2007-10-09 15:42:33 UTC (rev 80748)
@@ -6,9 +6,8 @@
   >>> grok.tests.grok(__name__)
   Traceback (most recent call last):
    ...
-  GrokError: Undefined permission 'doesnt.exist' in <class
-  'grok.tests.security.missing_permission_xmlrpc3.MissingPermission'>. Use
-  grok.Permission first.
+  ConfigurationExecutionError: martian.error.GrokError: Undefined permission 'foo' in <class 'grok.tests.security.missing_permission_xmlrpc3.MissingPermission'>. Use grok.Permission first.
+  ...
 
 """
 



More information about the Checkins mailing list