[Checkins] SVN: grokcore.view/trunk/ Fixed the buildout versions.
Souheil CHELFOUH
souheil at chelfouh.com
Mon Nov 1 16:06:53 EDT 2010
Log message for revision 118113:
Fixed the buildout versions.
Moved the 'make_checker' from ``grok`` to ``grokcore.view``
Changed:
U grokcore.view/trunk/buildout.cfg
U grokcore.view/trunk/src/grokcore/view/__init__.py
U grokcore.view/trunk/src/grokcore/view/interfaces.py
U grokcore.view/trunk/src/grokcore/view/util.py
-=-
Modified: grokcore.view/trunk/buildout.cfg
===================================================================
--- grokcore.view/trunk/buildout.cfg 2010-11-01 20:04:11 UTC (rev 118112)
+++ grokcore.view/trunk/buildout.cfg 2010-11-01 20:06:53 UTC (rev 118113)
@@ -10,11 +10,11 @@
[versions]
grokcore.view =
-martian = 0.12
-grokcore.component = 2.0
+martian = 0.13
+grokcore.component = 2.1
zope.app.wsgi = 3.9.2
+grokcore.security = 1.5
-
[interpreter]
recipe = zc.recipe.egg
eggs = grokcore.view
Modified: grokcore.view/trunk/src/grokcore/view/__init__.py
===================================================================
--- grokcore.view/trunk/src/grokcore/view/__init__.py 2010-11-01 20:04:11 UTC (rev 118112)
+++ grokcore.view/trunk/src/grokcore/view/__init__.py 2010-11-01 20:06:53 UTC (rev 118113)
@@ -25,7 +25,7 @@
from grokcore.view.components import DirectoryResource
from grokcore.view.directive import (
layer, template, templatedir, skin, path, view)
-from grokcore.view.util import url
+from grokcore.view.util import url, make_checker
# Import this module so that it's available as soon as you import the
# 'grokcore.view' package. Useful for tests and interpreter examples.
Modified: grokcore.view/trunk/src/grokcore/view/interfaces.py
===================================================================
--- grokcore.view/trunk/src/grokcore/view/interfaces.py 2010-11-01 20:04:11 UTC (rev 118112)
+++ grokcore.view/trunk/src/grokcore/view/interfaces.py 2010-11-01 20:06:53 UTC (rev 118113)
@@ -65,6 +65,13 @@
An optional argument 'data' can be a dictionary that is converted
into a query string appended to the URL."""
+ def make_checker(factory, view_factory, permission, method_names=None):
+ """Make a checker for a view_factory associated with factory.
+
+ These could be one and the same for normal views, or different
+ in case we make method-based views such as for JSON and XMLRPC.
+ """
+
def PageTemplate(template):
"""Create a Grok PageTemplate object from ``template`` source
text. This can be used for inline PageTemplates."""
Modified: grokcore.view/trunk/src/grokcore/view/util.py
===================================================================
--- grokcore.view/trunk/src/grokcore/view/util.py 2010-11-01 20:04:11 UTC (rev 118112)
+++ grokcore.view/trunk/src/grokcore/view/util.py 2010-11-01 20:06:53 UTC (rev 118113)
@@ -14,9 +14,11 @@
"""Grok utility functions.
"""
import urllib
+from grokcore.security.util import check_permission
from zope.component import getMultiAdapter
+from zope.security.checker import NamesChecker, defineChecker
+from zope.traversing.browser.absoluteurl import _safe as SAFE_URL_CHARACTERS
from zope.traversing.browser.interfaces import IAbsoluteURL
-from zope.traversing.browser.absoluteurl import _safe as SAFE_URL_CHARACTERS
def url(request, obj, name=None, data=None):
@@ -39,3 +41,15 @@
or item for item in v]
return url + '?' + urllib.urlencode(data, doseq=True)
+
+
+def make_checker(factory, view_factory, permission, method_names=None):
+ if method_names is None:
+ method_names = ['__call__']
+ if permission is not None:
+ check_permission(factory, permission)
+ if permission is None or permission == 'zope.Public':
+ checker = NamesChecker(method_names)
+ else:
+ checker = NamesChecker(method_names, permission)
+ defineChecker(view_factory, checker)
More information about the checkins
mailing list