[Checkins] SVN: grokcore.security/trunk/src/grokcore/security/util.py docstrings

Philipp von Weitershausen philikon at philikon.de
Fri Aug 1 08:02:31 EDT 2008


Log message for revision 89124:
  docstrings
  

Changed:
  U   grokcore.security/trunk/src/grokcore/security/util.py

-=-
Modified: grokcore.security/trunk/src/grokcore/security/util.py
===================================================================
--- grokcore.security/trunk/src/grokcore/security/util.py	2008-08-01 12:01:51 UTC (rev 89123)
+++ grokcore.security/trunk/src/grokcore/security/util.py	2008-08-01 12:02:29 UTC (rev 89124)
@@ -21,26 +21,18 @@
 from zope.app.security.protectclass import protectSetAttribute
 
 def protect_getattr(class_, name, permission=None):
-    # Define an attribute checker using zope.app.security's
-    # protectName that defaults to the 'zope.Public' permission when
-    # it's not been given and makes sure the permission has actually
-    # been defined when it has.
-    if permission is None:
-        permission = 'zope.Public'
-    else:
-        check_permission(class_, permission)
-
+    """Define a checker for reading an attribute (``name``) using a
+    permission.  If not supplied, the permission defaults to public
+    access."""
+    permission = check_or_default_permission(class_, permission)
     protectName(class_, name, permission)
 
 def protect_setattr(class_, name, permission=None):
-    # Define a set attribute checker.  If permission is not supplied,
-    # it defaults to 'zope.Pubic'.  If a permission has been supplied,
-    # we make sure the permission has actually been defined.
-    if permission is None:
-        permission = 'zope.Public'
-    else:
-        check_permission(class_, permission)
-
+    """Define a checker for setting an attribute (``name``) using a
+    permission.  If not supplied, the permission defaults to public
+    access.
+    """
+    permission = check_or_default_permission(class_, permission)
     protectSetAttribute(class_, name, permission)
 
 def make_checker(factory, view_factory, permission, method_names=None):
@@ -59,6 +51,16 @@
         checker = NamesChecker(method_names, permission)
     defineChecker(view_factory, checker)
 
+def check_or_default_permission(class_, permission):
+    """Return default permission (public) if permission is None,
+    otherwise make sure permission has been defined.
+    """
+    if permission is None:
+        permission = 'zope.Public'
+    else:
+        check_permission(class_, permission)
+    return permission
+
 def check_permission(factory, permission):
     """Check whether a permission is defined.
 



More information about the Checkins mailing list