[Zope-Checkins] CVS: Zope3/lib/python/Zope/Security - Checker.py:1.1.2.7
Jim Fulton
jim@zope.com
Mon, 22 Apr 2002 19:11:44 -0400
Update of /cvs-repository/Zope3/lib/python/Zope/Security
In directory cvs.zope.org:/tmp/cvs-serv20113/lib/python/Zope/Security
Modified Files:
Tag: SecurityProxy-branch
Checker.py
Log Message:
Changed the checker to make some attributes:
'__lt__', '__le__', '__eq__', '__gt__', '__ge__', '__ne__',
'__hash__', '__nonzero__', '__class__', and '__implements__'
always public.
=== Zope3/lib/python/Zope/Security/Checker.py 1.1.2.6 => 1.1.2.7 ===
else:
raise Unauthorized(name=name)
+ elif name in _always_available:
+ return
raise Forbidden(name)
@@ -213,13 +215,19 @@
return checker
-_callableChecker = NamesChecker(['__str__', '__repr__', '__hash__',
- '__call__'])
-_typeChecker = NamesChecker(['__str__', '__repr__', '__hash__'])
-
def _moduleChecker(module):
return _checkers.get(module, _typeChecker)
+
+
+_always_available = ['__lt__', '__le__', '__eq__',
+ '__gt__', '__ge__', '__ne__',
+ '__hash__', '__nonzero__',
+ '__class__', '__implements__',
+ ]
+
+_callableChecker = NamesChecker(['__str__', '__repr__', '__call__'])
+_typeChecker = NamesChecker(['__str__', '__repr__'])
_default_checkers = {
dict: NamesChecker(['__getitem__', 'get', 'has_key', '__len__',