[Checkins] SVN: Zope/branches/2.12/ Removed handling of string exceptions from ZPublisherExceptionHook and reverted the addition of Unauthorized exceptions to be always re-raised. This broke the tests.

Hanno Schlichting hannosch at hannosch.eu
Mon Jul 13 11:14:03 EDT 2009


Log message for revision 101854:
  Removed handling of string exceptions from ZPublisherExceptionHook and reverted the addition of Unauthorized exceptions to be always re-raised. This broke the tests.
  

Changed:
  U   Zope/branches/2.12/doc/CHANGES.rst
  U   Zope/branches/2.12/src/Zope2/App/startup.py

-=-
Modified: Zope/branches/2.12/doc/CHANGES.rst
===================================================================
--- Zope/branches/2.12/doc/CHANGES.rst	2009-07-13 15:13:07 UTC (rev 101853)
+++ Zope/branches/2.12/doc/CHANGES.rst	2009-07-13 15:14:03 UTC (rev 101854)
@@ -39,7 +39,7 @@
 
 - ObjectManagerNameChooser now also works with BTreeFolder2.
 
-- Correctly handle unauthorized exceptions in the ZPublisherExceptionHook.
+- Correctly handle exceptions in the ZPublisherExceptionHook.
 
 Zope 2.12.0 b2 (2009/05/27)
 ---------------------------

Modified: Zope/branches/2.12/src/Zope2/App/startup.py
===================================================================
--- Zope/branches/2.12/src/Zope2/App/startup.py	2009-07-13 15:13:07 UTC (rev 101853)
+++ Zope/branches/2.12/src/Zope2/App/startup.py	2009-07-13 15:14:03 UTC (rev 101854)
@@ -167,30 +167,25 @@
 
     def __call__(self, published, REQUEST, t, v, traceback):
         try:
-            if isinstance(t, StringType):
-                if t.lower() in ('unauthorized', 'redirect'):
-                    raise
-            else:
-                if (t is SystemExit or
-                    issubclass(t, Redirect) or issubclass(t, Unauthorized)):
-                    raise
+            if t is SystemExit or issubclass(t, Redirect):
+                raise
 
+            if issubclass(t, ConflictError):
+                self.logConflicts(v, REQUEST)
+                raise ZPublisher.Retry(t, v, traceback)
+
+            if t is ZPublisher.Retry:
+                try:
+                    v.reraise()
+                except:
+                    # we catch the re-raised exception so that it gets
+                    # stored in the error log and gets rendered with
+                    # standard_error_message
+                    t, v, traceback = sys.exc_info()
                 if issubclass(t, ConflictError):
-                    self.logConflicts(v, REQUEST)
-                    raise ZPublisher.Retry(t, v, traceback)
+                    # ouch, a user saw this conflict error :-(
+                    self.unresolved_conflict_errors += 1
 
-                if t is ZPublisher.Retry:
-                    try:
-                        v.reraise()
-                    except:
-                        # we catch the re-raised exception so that it gets
-                        # stored in the error log and gets rendered with
-                        # standard_error_message
-                        t, v, traceback = sys.exc_info()
-                    if issubclass(t, ConflictError):
-                        # ouch, a user saw this conflict error :-(
-                        self.unresolved_conflict_errors += 1
-
             try:
                 log = aq_acquire(published, '__error_log__', containment=1)
             except AttributeError:



More information about the Checkins mailing list