[Checkins] SVN: grok/trunk/s fix getting default values for context directive
Jan-Wijbrand Kolman
janwijbrand at gmail.com
Mon Nov 1 13:50:39 EDT 2010
Log message for revision 118073:
fix getting default values for context directive
Changed:
U grok/trunk/setup.py
U grok/trunk/src/grok/ftests/security/preserve_permissions.py
U grok/trunk/src/grok/meta.py
U grok/trunk/src/grok/tests/directive/multipletimes.py
U grok/trunk/src/grok/tests/viewlet/viewlet_ambiguous_manager.py
-=-
Modified: grok/trunk/setup.py
===================================================================
--- grok/trunk/setup.py 2010-11-01 17:47:40 UTC (rev 118072)
+++ grok/trunk/setup.py 2010-11-01 17:50:38 UTC (rev 118073)
@@ -43,15 +43,15 @@
install_requires=[
'ZODB3',
'grokcore.annotation >= 1.1',
- 'grokcore.component >= 1.5, < 2.0',
+ 'grokcore.component',
'grokcore.content',
'grokcore.formlib >= 1.4',
'grokcore.message',
'grokcore.security >= 1.1',
'grokcore.site',
- 'grokcore.view >= 1.12',
+ 'grokcore.view',
'grokcore.viewlet >= 1.3',
- 'martian >= 0.10, < 0.12',
+ 'martian',
'pytz',
'setuptools',
'simplejson',
Modified: grok/trunk/src/grok/ftests/security/preserve_permissions.py
===================================================================
--- grok/trunk/src/grok/ftests/security/preserve_permissions.py 2010-11-01 17:47:40 UTC (rev 118072)
+++ grok/trunk/src/grok/ftests/security/preserve_permissions.py 2010-11-01 17:50:38 UTC (rev 118073)
@@ -25,7 +25,7 @@
>>> required['__call__'] = 'zope.ManageContent'
>>> required['browserDefault'] = 'zope.ManageContent'
>>> defineChecker(Contents, Checker(required))
-
+
The `@@contents.html` view of folders is protected by
`zope.ManageContent` and should not be visible to unauthenticated
users. Instead we are asked to authenticate ourselves::
@@ -51,7 +51,7 @@
... ''')
HTTP/1.0 401 Unauthorized
...
-
+
However, if we make a grant, e.g. on the root object, we can access
the view just fine:
@@ -67,7 +67,7 @@
...
The default view is accessible::
-
+
>>> from zope.app.wsgi.testlayer import Browser
>>> browser = Browser()
>>> browser.open('http://localhost/app')
@@ -84,6 +84,7 @@
We have some static resources defined in a local `static` directory,
which we can access unauthenticated::
+ >>> browser.handleErrors = False
>>> browser.open('http://localhost/@@/grok.ftests.security/textfile.txt')
>>> print browser.contents
Just a test.
@@ -94,7 +95,7 @@
>>> browser.open('http://localhost/app/@@manage')
>>> print browser.contents
Woo!
-
+
"""
import grok
Modified: grok/trunk/src/grok/meta.py
===================================================================
--- grok/trunk/src/grok/meta.py 2010-11-01 17:47:40 UTC (rev 118072)
+++ grok/trunk/src/grok/meta.py 2010-11-01 17:50:38 UTC (rev 118073)
@@ -50,11 +50,10 @@
from grok.interfaces import IRESTSkinType
import grokcore.site.interfaces
+from grokcore.component.meta import default_context
from grokcore.security.meta import PermissionGrokker
-from grokcore.view.meta.views import default_fallback_to_name
-
class MethodPublisher(XMLRPCView, Location):
"""Copied from zope.app.publisher.xmlrpc to get rid of that dependency.
"""
@@ -82,7 +81,7 @@
"""
martian.component(grok.XMLRPC)
- martian.directive(grok.context)
+ martian.directive(grok.context, get_default=default_context)
martian.directive(grok.require, name='permission')
def execute(self, factory, method, config, context, permission, **kw):
@@ -127,7 +126,7 @@
"""
martian.component(grok.REST)
- martian.directive(grok.context)
+ martian.directive(grok.context, get_default=default_context)
martian.directive(grok.layer, default=grok.IRESTLayer)
martian.directive(grok.require, name='permission')
@@ -213,7 +212,7 @@
"""
martian.component(grok.JSON)
- martian.directive(grok.context)
+ martian.directive(grok.context, get_default=default_context)
martian.directive(grok.require, name='permission')
martian.directive(grok.layer, default=IDefaultBrowserLayer)
@@ -244,7 +243,7 @@
class TraverserGrokker(martian.ClassGrokker):
"""Grokker for subclasses of `grok.Traverser`."""
martian.component(grok.Traverser)
- martian.directive(grok.context)
+ martian.directive(grok.context, get_default=default_context)
def execute(self, factory, config, context, **kw):
adapts = (context, IHTTPRequest)
@@ -255,6 +254,8 @@
)
return True
+def default_fallback_to_name(factory, module, name, **data):
+ return name
class RoleGrokker(martian.ClassGrokker):
"""Grokker for components subclassed from `grok.Role`.
Modified: grok/trunk/src/grok/tests/directive/multipletimes.py
===================================================================
--- grok/trunk/src/grok/tests/directive/multipletimes.py 2010-11-01 17:47:40 UTC (rev 118072)
+++ grok/trunk/src/grok/tests/directive/multipletimes.py 2010-11-01 17:50:38 UTC (rev 118073)
@@ -3,28 +3,30 @@
GlobalUtilityInfo objects annotated on the module.
>>> from grok.tests.directive import multipletimes
- >>> guis = grok.global_utility.bind().get(module=multipletimes)
-
- >>> guis = grok.global_utility.bind().get(module=multipletimes)
+ >>> guis = grok.global_utility.bind().get(multipletimes)
>>> len(guis)
2
>>> factory, provides, name, direct = guis[0]
>>> factory
<class 'grok.tests.directive.multipletimes.Club'>
+
>>> provides
<InterfaceClass grok.tests.directive.multipletimes.IClub>
+
>>> name
'foo'
>>> factory, provides, name, direct = guis[1]
>>> factory
<class 'grok.tests.directive.multipletimes.Cave'>
+
>>> provides is None
True
+
>>> name
u''
-
+
"""
import grok
from zope import interface
Modified: grok/trunk/src/grok/tests/viewlet/viewlet_ambiguous_manager.py
===================================================================
--- grok/trunk/src/grok/tests/viewlet/viewlet_ambiguous_manager.py 2010-11-01 17:47:40 UTC (rev 118072)
+++ grok/trunk/src/grok/tests/viewlet/viewlet_ambiguous_manager.py 2010-11-01 17:50:38 UTC (rev 118073)
@@ -5,7 +5,9 @@
>>> grok.testing.grok(__name__)
Traceback (most recent call last):
...
- GrokError: Multiple possible viewletmanagers for <class 'grok.tests.viewlet.viewlet_ambiguous_manager.Viewlet'>, please use the 'viewletmanager' directive.
+ GrokError: Multiple possible viewletmanagers for
+ <class 'grok.tests.viewlet.viewlet_ambiguous_manager.Viewlet'>, please use
+ the 'viewletmanager' directive.
"""
@@ -19,10 +21,10 @@
class ViewletManager2(grok.ViewletManager):
grok.name('bar')
grok.context(Interface)
-
+
class Viewlet(grok.Viewlet):
grok.context(Interface)
-
+
def render(self):
return "Render method"
More information about the checkins
mailing list