[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