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. TALES actually had a slot for my change, go figure :-) as for PluginIndex/common/UnIndex.py, I'd like to propose the following rule, before I attempt a fix: No bare 'except:' shall silently ingore it's exception and proceed. Outside of ZPublisher, any bare 'except:' MUST raise either the original exception or another one. Inside of ZPublisher it's too dark to read. What do you think? Cheers, Leo PS: in PageTemplates/TALES.py there's another bare 'except:' in the Iterator class, I suggest it be changed to include a self._nocatch mechanism just like the Context class in that same file. What do you think? -- Ideas don't stay in some minds very long because they don't like solitary confinement. --- 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):