On Fri, 2002-10-04 at 17:58, Leonardo Rochael Almeida wrote:
On Fri, 2002-10-04 at 16:37, Leonardo Rochael Almeida wrote:
I'm testing a fix for the TALES case along the lines of what Casey sugested and will report back with results.
And here it is. [...]
BTW, the _nocatch that I patched had literal string 'Redirect' in it. Now considering that exception catching is done by the 'is' operator (or by isinstance(), in case of object instances) isn't it possible, or even likely that the 'except self._nocatch:' in PageTemplates/TALES.py wouldn't be able to catch other 'Redirect's?
--- lib/python/Products/PageTemplates/Expressions.py-orig 2002-10-04 17:26:31.000000000 +0000 +++ lib/python/Products/PageTemplates/Expressions.py 2002-10-04 17:26:38.000000000 +0000 @@ -24,6 +24,7 @@ TALESError, Undefined, Default, _parse_expr from string import strip, split, join, replace, lstrip from Acquisition import aq_base, aq_inner, aq_parent +from ZODB.POSException import ConflictError
_engine = None @@ -33,7 +34,7 @@ from PathIterator import Iterator _engine = Engine(Iterator) installHandlers(_engine) - _engine._nocatch = (TALESError, 'Redirect') + _engine._nocatch = (TALESError, 'Redirect', ConflictError) return _engine
def installHandlers(engine): -- Ideas don't stay in some minds very long because they don't like solitary confinement.