On Thu, 28 Jun 2001 22:42:13 +0200 (CEST) Dieter Maurer <dieter@handshake.de> wrote:
I expect that "dtml-sqltest" does not support the "expr" attribute due to its "optional".
It is not easy to define the semantics of "optional" for arbitrary expressions.
True, but you already found a possible answer:
Your example seems to suggests, that you would like the tag to be omitted, when the expression raise a NameError. But, in fact, it is not clear whether this is anticipated by "optional" or a serious problem (maybe deep in the expression) that should be reported.
To overcome that problem, I think it would make sense to treat the "optional" like this: when the expression raises a NameError, if the variable name that caused the error is an expected argument of the ZSQLMethod, then this argument was not provided, so do not render the sqltest tag. Otherwise, we have a real error. In a pythonish algorithm, that would look like this: try: renderedExpr = eval(expr) except NameError, varName: if varName in ZSQLMethodArguments: # "optional" behavior for missing variable pass else: # We have a real error raise NameError, varName else: # render sqltest tag ... Do you think that makes sense? -- Yves-Eric Martin yemartin@yve.net