[Zope3-checkins] SVN: Zope3/trunk/src/ Moved forbidden and
unauthorized exception definitions to
Jim Fulton
jim at zope.com
Tue Jul 27 10:00:43 EDT 2004
Log message for revision 26787:
Moved forbidden and unauthorized exception definitions to
zope.security.interfaces.
Changed:
U Zope3/trunk/src/bugtracker/browser/bug.py
U Zope3/trunk/src/zope/app/component/tests/test_servicedirective.py
U Zope3/trunk/src/zope/app/container/browser/contents.py
U Zope3/trunk/src/zope/app/container/browser/tests/test_adding.py
U Zope3/trunk/src/zope/app/container/ftests/test_view_permissions.py
U Zope3/trunk/src/zope/app/debugskin/configure.zcml
U Zope3/trunk/src/zope/app/exception/browser/configure.zcml
U Zope3/trunk/src/zope/app/http/exception/configure.zcml
U Zope3/trunk/src/zope/app/interpreter/tests/test_pythoninterpreter.py
U Zope3/trunk/src/zope/app/pagetemplate/talesapi.py
U Zope3/trunk/src/zope/app/pagetemplate/tests/test_zopepythonexpr.py
U Zope3/trunk/src/zope/app/publication/tests/test_browserpublication.py
U Zope3/trunk/src/zope/app/publication/zopepublication.py
U Zope3/trunk/src/zope/app/publisher/browser/globalbrowsermenuservice.py
U Zope3/trunk/src/zope/app/publisher/browser/tests/test_globalbrowsermenuservice.py
U Zope3/trunk/src/zope/app/publisher/browser/tests/test_icondirective.py
U Zope3/trunk/src/zope/app/rdb/tests/test_row.py
U Zope3/trunk/src/zope/app/tests/functional.py
U Zope3/trunk/src/zope/app/tests/test_decorator.py
U Zope3/trunk/src/zope/app/traversing/tests/test_traverser.py
U Zope3/trunk/src/zope/app/undo/browser.py
U Zope3/trunk/src/zope/app/workflow/stateful/instance.py
U Zope3/trunk/src/zope/app/zptpage/tests/test_zptpage.py
U Zope3/trunk/src/zope/exceptions/__init__.py
D Zope3/trunk/src/zope/exceptions/_forbidden.py
D Zope3/trunk/src/zope/exceptions/unauthorized.py
U Zope3/trunk/src/zope/publisher/interfaces/__init__.py
U Zope3/trunk/src/zope/security/_zope_security_checker.c
U Zope3/trunk/src/zope/security/checker.py
U Zope3/trunk/src/zope/security/interfaces.py
U Zope3/trunk/src/zope/security/tests/test_builtins.py
U Zope3/trunk/src/zope/security/tests/test_checker.py
U Zope3/trunk/src/zope/security/tests/test_standard_checkers.py
U Zope3/trunk/src/zope/server/ftp/server.py
U Zope3/trunk/src/zope/server/ftp/tests/demofs.py
-=-
Modified: Zope3/trunk/src/bugtracker/browser/bug.py
===================================================================
--- Zope3/trunk/src/bugtracker/browser/bug.py 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/bugtracker/browser/bug.py 2004-07-27 14:00:42 UTC (rev 26787)
@@ -19,7 +19,8 @@
import re
from zope.component.interfaces import IViewFactory
-from zope.exceptions import Unauthorized, ForbiddenAttribute, NotFoundError
+from zope.exceptions import NotFoundError
+from zope.security.interfaces import Unauthorized, ForbiddenAttribute
from zope.interface import implements
from zope.proxy import removeAllProxies
from zope.schema.vocabulary import getVocabularyRegistry
Modified: Zope3/trunk/src/zope/app/component/tests/test_servicedirective.py
===================================================================
--- Zope3/trunk/src/zope/app/component/tests/test_servicedirective.py 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/app/component/tests/test_servicedirective.py 2004-07-27 14:00:42 UTC (rev 26787)
@@ -18,7 +18,7 @@
import unittest
from cStringIO import StringIO
-from zope.exceptions import Forbidden, Unauthorized
+from zope.security.interfaces import Forbidden, Unauthorized
from zope.configuration.xmlconfig import testxmlconfig as xmlconfig, XMLConfig
from zope.configuration.config import ConfigurationConflictError
Modified: Zope3/trunk/src/zope/app/container/browser/contents.py
===================================================================
--- Zope3/trunk/src/zope/app/container/browser/contents.py 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/app/container/browser/contents.py 2004-07-27 14:00:42 UTC (rev 26787)
@@ -17,7 +17,8 @@
"""
__docformat__ = 'restructuredtext'
-from zope.exceptions import NotFoundError, Unauthorized
+from zope.exceptions import NotFoundError
+from zope.security.interfaces import Unauthorized
from zope.security import checkPermission
from zope.app import zapi
Modified: Zope3/trunk/src/zope/app/container/browser/tests/test_adding.py
===================================================================
--- Zope3/trunk/src/zope/app/container/browser/tests/test_adding.py 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/app/container/browser/tests/test_adding.py 2004-07-27 14:00:42 UTC (rev 26787)
@@ -24,7 +24,7 @@
from zope.interface import implements, Interface, directlyProvides
from zope.publisher.browser import TestRequest
import zope.security.checker
-from zope.exceptions import ForbiddenAttribute
+from zope.security.interfaces import ForbiddenAttribute
from zope.app import zapi
from zope.app.tests import ztapi
from zope.app.tests.placelesssetup import PlacelessSetup, setUp, tearDown
Modified: Zope3/trunk/src/zope/app/container/ftests/test_view_permissions.py
===================================================================
--- Zope3/trunk/src/zope/app/container/ftests/test_view_permissions.py 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/app/container/ftests/test_view_permissions.py 2004-07-27 14:00:42 UTC (rev 26787)
@@ -18,7 +18,7 @@
import unittest
from transaction import get_transaction
-from zope.exceptions import Unauthorized
+from zope.security.interfaces import Unauthorized
from zope.app.tests.functional import BrowserTestCase
from zope.app.file import File
Modified: Zope3/trunk/src/zope/app/debugskin/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/debugskin/configure.zcml 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/app/debugskin/configure.zcml 2004-07-27 14:00:42 UTC (rev 26787)
@@ -6,7 +6,7 @@
<skin name="Debug" layers="debug rotterdam default" />
<page
- for="zope.exceptions.IUnauthorized"
+ for="zope.security.interfaces.IUnauthorized"
name="index.html"
permission="zope.Public"
template="unauthorized.pt"
Modified: Zope3/trunk/src/zope/app/exception/browser/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/exception/browser/configure.zcml 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/app/exception/browser/configure.zcml 2004-07-27 14:00:42 UTC (rev 26787)
@@ -10,7 +10,7 @@
/>
<page
- for="zope.exceptions.IUnauthorized"
+ for="zope.security.interfaces.IUnauthorized"
name="index.html"
permission="zope.Public"
template="unauthorized.pt"
Modified: Zope3/trunk/src/zope/app/http/exception/configure.zcml
===================================================================
--- Zope3/trunk/src/zope/app/http/exception/configure.zcml 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/app/http/exception/configure.zcml 2004-07-27 14:00:42 UTC (rev 26787)
@@ -1,7 +1,7 @@
<configure xmlns="http://namespaces.zope.org/zope">
<view
- for="zope.exceptions.IUnauthorized"
+ for="zope.security.interfaces.IUnauthorized"
type="zope.publisher.interfaces.http.IHTTPRequest"
name="index.html"
permission="zope.Public"
@@ -9,7 +9,7 @@
/>
<defaultView
- for="zope.exceptions.IUnauthorized"
+ for="zope.security.interfaces.IUnauthorized"
type="zope.publisher.interfaces.http.IHTTPRequest"
name="index.html"
/>
Modified: Zope3/trunk/src/zope/app/interpreter/tests/test_pythoninterpreter.py
===================================================================
--- Zope3/trunk/src/zope/app/interpreter/tests/test_pythoninterpreter.py 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/app/interpreter/tests/test_pythoninterpreter.py 2004-07-27 14:00:42 UTC (rev 26787)
@@ -19,7 +19,7 @@
from zope.app.interpreter.interfaces import IInterpreter
from zope.app.interpreter.python import PythonInterpreter
-from zope.exceptions import ForbiddenAttribute
+from zope.security.interfaces import ForbiddenAttribute
from zope.interface.verify import verifyObject
class PythonInterpreterTest(unittest.TestCase):
Modified: Zope3/trunk/src/zope/app/pagetemplate/talesapi.py
===================================================================
--- Zope3/trunk/src/zope/app/pagetemplate/talesapi.py 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/app/pagetemplate/talesapi.py 2004-07-27 14:00:42 UTC (rev 26787)
@@ -19,7 +19,7 @@
from zope.app.size.interfaces import ISized
from zope.app import zapi
from zope.interface import implements
-from zope.exceptions import Unauthorized
+from zope.security.interfaces import Unauthorized
from zope.tales.interfaces import ITALESFunctionNamespace
from interfaces import IZopeTalesAPI
Modified: Zope3/trunk/src/zope/app/pagetemplate/tests/test_zopepythonexpr.py
===================================================================
--- Zope3/trunk/src/zope/app/pagetemplate/tests/test_zopepythonexpr.py 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/app/pagetemplate/tests/test_zopepythonexpr.py 2004-07-27 14:00:42 UTC (rev 26787)
@@ -34,7 +34,7 @@
def test(self):
from zope.app.pagetemplate.engine import ZopePythonExpr
- from zope.exceptions import Forbidden
+ from zope.security.interfaces import Forbidden
expr = ZopePythonExpr('python', 'max(a,b)', Engine())
self.assertEqual(expr(Context(a=1, b=2)), 2)
Modified: Zope3/trunk/src/zope/app/publication/tests/test_browserpublication.py
===================================================================
--- Zope3/trunk/src/zope/app/publication/tests/test_browserpublication.py 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/app/publication/tests/test_browserpublication.py 2004-07-27 14:00:42 UTC (rev 26787)
@@ -20,7 +20,7 @@
from zope.app.tests import ztapi
from StringIO import StringIO
-from zope.exceptions import ForbiddenAttribute
+from zope.security.interfaces import ForbiddenAttribute
from zope.interface import Interface, implements
from zope.publisher.publish import publish
Modified: Zope3/trunk/src/zope/app/publication/zopepublication.py
===================================================================
--- Zope3/trunk/src/zope/app/publication/zopepublication.py 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/app/publication/zopepublication.py 2004-07-27 14:00:42 UTC (rev 26787)
@@ -22,7 +22,7 @@
from ZODB.POSException import ConflictError
from zope.event import notify
-from zope.exceptions import Unauthorized
+from zope.security.interfaces import Unauthorized
from zope.component.exceptions import ComponentLookupError
from zope.interface import implements, providedBy
from zope.proxy import removeAllProxies
Modified: Zope3/trunk/src/zope/app/publisher/browser/globalbrowsermenuservice.py
===================================================================
--- Zope3/trunk/src/zope/app/publisher/browser/globalbrowsermenuservice.py 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/app/publisher/browser/globalbrowsermenuservice.py 2004-07-27 14:00:42 UTC (rev 26787)
@@ -16,7 +16,8 @@
$Id$
"""
import sys
-from zope.exceptions import DuplicationError, Unauthorized, Forbidden
+from zope.exceptions import DuplicationError
+from zope.security.interfaces import Unauthorized, Forbidden
from zope.interface import implements, implementedBy
from zope.security.checker import CheckerPublic
from zope.security import checkPermission
Modified: Zope3/trunk/src/zope/app/publisher/browser/tests/test_globalbrowsermenuservice.py
===================================================================
--- Zope3/trunk/src/zope/app/publisher/browser/tests/test_globalbrowsermenuservice.py 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/app/publisher/browser/tests/test_globalbrowsermenuservice.py 2004-07-27 14:00:42 UTC (rev 26787)
@@ -16,7 +16,8 @@
$Id$
"""
import unittest
-from zope.exceptions import Forbidden, Unauthorized, DuplicationError
+from zope.exceptions import DuplicationError
+from zope.security.interfaces import Forbidden, Unauthorized
from zope.interface import Interface, implements
from zope.publisher.browser import TestRequest
from zope.publisher.interfaces.browser import IBrowserPublisher
Modified: Zope3/trunk/src/zope/app/publisher/browser/tests/test_icondirective.py
===================================================================
--- Zope3/trunk/src/zope/app/publisher/browser/tests/test_icondirective.py 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/app/publisher/browser/tests/test_icondirective.py 2004-07-27 14:00:42 UTC (rev 26787)
@@ -19,7 +19,7 @@
from StringIO import StringIO
from unittest import TestCase, main, makeSuite
-from zope.exceptions import Forbidden
+from zope.security.interfaces import Forbidden
from zope.proxy import removeAllProxies
from zope.app.tests.placelesssetup import PlacelessSetup
from zope.configuration.xmlconfig import xmlconfig, XMLConfig
Modified: Zope3/trunk/src/zope/app/rdb/tests/test_row.py
===================================================================
--- Zope3/trunk/src/zope/app/rdb/tests/test_row.py 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/app/rdb/tests/test_row.py 2004-07-27 14:00:42 UTC (rev 26787)
@@ -35,7 +35,7 @@
def test_RowClassFactory_Proxied(self):
from zope.app.rdb import RowClassFactory
from zope.security.proxy import ProxyFactory
- from zope.exceptions import ForbiddenAttribute
+ from zope.security.interfaces import ForbiddenAttribute
from zope.security.interfaces import IChecker
columns = ('type', 'speed')
Modified: Zope3/trunk/src/zope/app/tests/functional.py
===================================================================
--- Zope3/trunk/src/zope/app/tests/functional.py 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/app/tests/functional.py 2004-07-27 14:00:42 UTC (rev 26787)
@@ -31,7 +31,7 @@
from zope.publisher.browser import BrowserRequest
from zope.publisher.http import HTTPRequest
from zope.publisher.publish import publish
-from zope.exceptions import Forbidden, Unauthorized
+from zope.security.interfaces import Forbidden, Unauthorized
from zope.security.management import endInteraction
from zope.app.debug import Debugger
Modified: Zope3/trunk/src/zope/app/tests/test_decorator.py
===================================================================
--- Zope3/trunk/src/zope/app/tests/test_decorator.py 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/app/tests/test_decorator.py 2004-07-27 14:00:42 UTC (rev 26787)
@@ -22,7 +22,7 @@
from zope.interface import Interface, implements, directlyProvides, providedBy
from zope.interface import directlyProvidedBy, implementedBy
from zope.testing.doctestunit import DocTestSuite
-from zope.exceptions import ForbiddenAttribute
+from zope.security.interfaces import ForbiddenAttribute
class I1(Interface):
pass
Modified: Zope3/trunk/src/zope/app/traversing/tests/test_traverser.py
===================================================================
--- Zope3/trunk/src/zope/app/traversing/tests/test_traverser.py 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/app/traversing/tests/test_traverser.py 2004-07-27 14:00:42 UTC (rev 26787)
@@ -31,7 +31,8 @@
from zope.app.traversing.adapters import RootPhysicallyLocatable
from zope.app.container.contained import contained
-from zope.exceptions import NotFoundError, Unauthorized
+from zope.exceptions import NotFoundError
+from zope.security.interfaces import Unauthorized
from zope.app.servicenames import Adapters
from zope.app.site.tests.placefulsetup import PlacefulSetup
Modified: Zope3/trunk/src/zope/app/undo/browser.py
===================================================================
--- Zope3/trunk/src/zope/app/undo/browser.py 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/app/undo/browser.py 2004-07-27 14:00:42 UTC (rev 26787)
@@ -15,7 +15,7 @@
$Id$
"""
-from zope.exceptions import ForbiddenAttribute
+from zope.security.interfaces import ForbiddenAttribute
from zope.app import zapi
from zope.app.publisher.browser import BrowserView
Modified: Zope3/trunk/src/zope/app/workflow/stateful/instance.py
===================================================================
--- Zope3/trunk/src/zope/app/workflow/stateful/instance.py 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/app/workflow/stateful/instance.py 2004-07-27 14:00:42 UTC (rev 26787)
@@ -34,7 +34,7 @@
from zope.app.workflow.instance import ProcessInstance
from zope.app.container.contained import Contained
-from zope.exceptions import Unauthorized
+from zope.security.interfaces import Unauthorized
from zope.interface import directlyProvides, implements
from zope.proxy import removeAllProxies
from zope.schema import getFields
Modified: Zope3/trunk/src/zope/app/zptpage/tests/test_zptpage.py
===================================================================
--- Zope3/trunk/src/zope/app/zptpage/tests/test_zptpage.py 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/app/zptpage/tests/test_zptpage.py 2004-07-27 14:00:42 UTC (rev 26787)
@@ -20,7 +20,7 @@
from zope.interface import directlyProvides
from zope.interface.verify import verifyClass
-from zope.exceptions import Forbidden
+from zope.security.interfaces import Forbidden
from zope.app.tests import ztapi
from zope.component import getView
Modified: Zope3/trunk/src/zope/exceptions/__init__.py
===================================================================
--- Zope3/trunk/src/zope/exceptions/__init__.py 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/exceptions/__init__.py 2004-07-27 14:00:42 UTC (rev 26787)
@@ -20,8 +20,18 @@
"""
from zope.exceptions._zope_error import ZopeError, IZopeError
-from zope.exceptions.unauthorized import Unauthorized, IUnauthorized
from zope.exceptions._notfounderror import NotFoundError, INotFoundError
-from zope.exceptions._forbidden import Forbidden, ForbiddenAttribute
-from zope.exceptions._forbidden import IForbidden, IForbiddenAttribute
from zope.exceptions._duplicate import DuplicationError, IDuplicationError
+
+# Importing these interfaces from here is deprecated!
+
+# avoid depency on zope.security:
+try:
+ import zope.security
+except ImportError, v:
+ if not str(v).endswith(' zope.security'):
+ raise
+else:
+ from zope.security.interfaces import IUnauthorized, Unauthorized
+ from zope.security.interfaces import IForbidden, IForbiddenAttribute
+ from zope.security.interfaces import Forbidden, ForbiddenAttribute
Deleted: Zope3/trunk/src/zope/exceptions/_forbidden.py
===================================================================
--- Zope3/trunk/src/zope/exceptions/_forbidden.py 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/exceptions/_forbidden.py 2004-07-27 14:00:42 UTC (rev 26787)
@@ -1,37 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2001, 2002 Zope Corporation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""Forbidden Error
-
-$Id$
-"""
-from zope.exceptions import ZopeError, IZopeError
-from zope.interface import implements
-from zope.interface.common.interfaces import IAttributeError
-
-class IForbidden(IZopeError):
- pass
-
-class Forbidden(ZopeError):
- """A resource cannot be accessed under any circumstances
- """
- implements(IForbidden)
-
-class IForbiddenAttribute(IForbidden, IAttributeError):
- pass
-
-class ForbiddenAttribute(Forbidden, AttributeError):
- """An attribute is unavailable because it is forbidden (private)
- """
- implements(IForbiddenAttribute)
-
Deleted: Zope3/trunk/src/zope/exceptions/unauthorized.py
===================================================================
--- Zope3/trunk/src/zope/exceptions/unauthorized.py 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/exceptions/unauthorized.py 2004-07-27 14:00:42 UTC (rev 26787)
@@ -1,28 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2001, 2002 Zope Corporation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""Unauthorized Exception definition
-
-$Id$
-"""
-from zope.exceptions import ZopeError
-from zope.exceptions import IZopeError
-from zope.interface import implements
-
-class IUnauthorized(IZopeError):
- pass
-
-class Unauthorized(ZopeError):
- """Some user wasn't allowed to access a resource"""
-
- implements(IUnauthorized)
Modified: Zope3/trunk/src/zope/publisher/interfaces/__init__.py
===================================================================
--- Zope3/trunk/src/zope/publisher/interfaces/__init__.py 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/publisher/interfaces/__init__.py 2004-07-27 14:00:42 UTC (rev 26787)
@@ -18,7 +18,7 @@
from zope.interface import Interface
from zope.interface import Attribute
-from zope.exceptions import Unauthorized
+from zope.security.interfaces import Unauthorized
from zope.exceptions import NotFoundError, INotFoundError
from zope.component.interfaces import IPresentationRequest
from zope.interface import implements
Modified: Zope3/trunk/src/zope/security/_zope_security_checker.c
===================================================================
--- Zope3/trunk/src/zope/security/_zope_security_checker.c 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/security/_zope_security_checker.c 2004-07-27 14:00:42 UTC (rev 26787)
@@ -564,7 +564,7 @@
if (thread_local == NULL) return;
Py_DECREF(m);
- if ((m = PyImport_ImportModule("zope.exceptions")) == NULL) return;
+ if ((m = PyImport_ImportModule("zope.security.interfaces")) == NULL) return;
ForbiddenAttribute = PyObject_GetAttrString(m, "ForbiddenAttribute");
if (ForbiddenAttribute == NULL) return;
Unauthorized = PyObject_GetAttrString(m, "Unauthorized");
Modified: Zope3/trunk/src/zope/security/checker.py
===================================================================
--- Zope3/trunk/src/zope/security/checker.py 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/security/checker.py 2004-07-27 14:00:42 UTC (rev 26787)
@@ -31,17 +31,19 @@
import types
import datetime
import weakref
+
+from zope.exceptions import DuplicationError
import zope.interface.interface
import zope.interface.interfaces
import zope.interface.declarations
-
from zope.interface import directlyProvides, Interface, implements
from zope.interface.interfaces import IInterface, IDeclaration
+
from zope.security.interfaces import IChecker, INameBasedChecker
from zope.security.interfaces import ISecurityProxyFactory
+from zope.security.interfaces import Unauthorized, ForbiddenAttribute
from zope.security.management import thread_local
from zope.security._proxy import _Proxy as Proxy, getChecker
-from zope.exceptions import Unauthorized, ForbiddenAttribute, DuplicationError
if os.environ.get('ZOPE_WATCH_CHECKERS'):
try:
Modified: Zope3/trunk/src/zope/security/interfaces.py
===================================================================
--- Zope3/trunk/src/zope/security/interfaces.py 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/security/interfaces.py 2004-07-27 14:00:42 UTC (rev 26787)
@@ -15,9 +15,38 @@
$Id$
"""
-from zope.interface import Interface, Attribute
+from zope.exceptions import ZopeError
+from zope.exceptions import IZopeError
+from zope.interface import Interface, Attribute, implements
+from zope.interface.common.interfaces import IAttributeError
+class IUnauthorized(IZopeError):
+ pass
+
+class Unauthorized(ZopeError):
+ """Some user wasn't allowed to access a resource"""
+
+ implements(IUnauthorized)
+
+
+class IForbidden(IZopeError):
+ pass
+
+class Forbidden(ZopeError):
+ """A resource cannot be accessed under any circumstances
+ """
+ implements(IForbidden)
+
+class IForbiddenAttribute(IForbidden, IAttributeError):
+ pass
+
+class ForbiddenAttribute(Forbidden, AttributeError):
+ """An attribute is unavailable because it is forbidden (private)
+ """
+ implements(IForbiddenAttribute)
+
+
class ISecurityManagement(Interface):
"""Public security management API."""
Modified: Zope3/trunk/src/zope/security/tests/test_builtins.py
===================================================================
--- Zope3/trunk/src/zope/security/tests/test_builtins.py 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/security/tests/test_builtins.py 2004-07-27 14:00:42 UTC (rev 26787)
@@ -23,7 +23,7 @@
def test(self):
from zope.security.builtins import RestrictedBuiltins
- from zope.exceptions import Forbidden
+ from zope.security.interfaces import Forbidden
def e(expr):
return eval(expr, {'__builtins__': RestrictedBuiltins})
Modified: Zope3/trunk/src/zope/security/tests/test_checker.py
===================================================================
--- Zope3/trunk/src/zope/security/tests/test_checker.py 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/security/tests/test_checker.py 2004-07-27 14:00:42 UTC (rev 26787)
@@ -21,8 +21,10 @@
from zope.security.checker import Checker, NamesChecker, CheckerPublic
from zope.testing.cleanup import CleanUp
from zope.security.interfaces import ISecurityPolicy
-from zope.exceptions import Forbidden, Unauthorized, ForbiddenAttribute
-from zope.security.management import setSecurityPolicy, newInteraction, endInteraction, getInteraction
+from zope.security.interfaces import Forbidden, ForbiddenAttribute
+from zope.security.interfaces import Unauthorized
+from zope.security.management import setSecurityPolicy, newInteraction
+from zope.security.management import endInteraction, getInteraction
from zope.proxy import getProxiedObject
from zope.security.proxy import getChecker
from zope.security.checker import defineChecker, ProxyFactory
Modified: Zope3/trunk/src/zope/security/tests/test_standard_checkers.py
===================================================================
--- Zope3/trunk/src/zope/security/tests/test_standard_checkers.py 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/security/tests/test_standard_checkers.py 2004-07-27 14:00:42 UTC (rev 26787)
@@ -19,7 +19,7 @@
$Id$
"""
from zope.security.checker import ProxyFactory, NamesChecker
-from zope.exceptions import ForbiddenAttribute
+from zope.security.interfaces import ForbiddenAttribute
def check_forbidden_get(object, attr):
Modified: Zope3/trunk/src/zope/server/ftp/server.py
===================================================================
--- Zope3/trunk/src/zope/server/ftp/server.py 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/server/ftp/server.py 2004-07-27 14:00:42 UTC (rev 26787)
@@ -21,7 +21,7 @@
from datetime import date, timedelta
from getopt import getopt, GetoptError
-from zope.exceptions import Unauthorized
+from zope.security.interfaces import Unauthorized
from zope.interface import implements
from zope.server.buffers import OverflowableBuffer
from zope.server.interfaces import ITask
Modified: Zope3/trunk/src/zope/server/ftp/tests/demofs.py
===================================================================
--- Zope3/trunk/src/zope/server/ftp/tests/demofs.py 2004-07-27 12:23:28 UTC (rev 26786)
+++ Zope3/trunk/src/zope/server/ftp/tests/demofs.py 2004-07-27 14:00:42 UTC (rev 26787)
@@ -14,7 +14,7 @@
$Id$
"""
import posixpath
-from zope.exceptions import Unauthorized
+from zope.security.interfaces import Unauthorized
from zope.server.interfaces.ftp import IFileSystem
from zope.server.interfaces.ftp import IFileSystemAccess
from zope.interface import implements
More information about the Zope3-Checkins
mailing list