[Zope] How manage error with zsql
robert rottermann
robert at redcor.ch
Sat Dec 6 11:15:57 EST 2008
hi,
I think you should write in a python script:
try:
result = context.insert_data.zsql
msg = 'data inserted'
except ZeroDivisionError:
msg = 'ZeroDivisionError occured'
return msg
and in your tal you write:
> <div>
> tal:content="context/MyPythonscript">
>
> </div>
>
allways try to put logic in a python script. it is *far* easier than writing
complicated tal
robert
Miguel Beltran R. schrieb:
> I tried to insert data using an zsql, insert fine How manage error with
> zsql.
> Before
> <dtml-try>
> <dtml-call insert_data>
> Data inserted!!!
> <dtml-except>
> Error type:<dtml-var error_type>
> Error type:<dtml-var error_value>
> </dtml-try>
>
>
>
> Now (All files are ZPT)
>
> [index_html]
> ...
> <form action="proyecto_alta.html">
> <input type="text" name="field1" id="field1" />
> ...
> <input type="text" name="field2" id="field2" />
> </form>
>
>
> [proyecto_alta.html]
> <div tal:on-error="structure here/error_insertar">
> tal:condition="context/insert_data.zsql"
> tal:content="string: Data inserted!!!">
>
> </div>
>
>
> [error_insertar]
> error=_['error']
> if error.type==ZeroDivisionError:
> return "<p>Can't divide by zero.</p>"
> else:
> return """<p>An error ocurred.</p>
> <p>Error type: %s</p>
> <p>Error value: %s</p>""" % (error.type,
> error.value)
>
>
> But say
>
> Tipo Unauthorized
> Valor You are not allowed to access 'type' in this context
> TraceBack
>
> Traceback (innermost last):
>
> * Module ZPublisher.Publish, line 119, in publish
> * Module ZPublisher.mapply, line 88, in mapply
> * Module ZPublisher.Publish, line 42, in call_object
> * Module Shared.DC.Scripts.Bindings, line 313, in __call__
> * Module Shared.DC.Scripts.Bindings, line 350, in _bindAndExec
> * Module Products.PageTemplates.ZopePageTemplate, line 330, in _exec
> * Module Products.PageTemplates.ZopePageTemplate, line 427, in pt_render
> * Module Products.PageTemplates.PageTemplate, line 96, in pt_render
> * Module zope.pagetemplate.pagetemplate, line 115, in pt_render
> * Module zope.tal.talinterpreter, line 271, in __call__
> * Module zope.tal.talinterpreter, line 346, in interpret
> * Module zope.tal.talinterpreter, line 981, in do_onError_tal
> * Module zope.tal.talinterpreter, line 346, in interpret
> * Module zope.tal.talinterpreter, line 745, in do_insertStructure_tal
> * Module Products.PageTemplates.Expressions, line 199, in
> evaluateStructure
> * Module zope.tales.tales, line 696, in evaluate
> *URL: /ceed/finanza/proyecto/proyecto_alta.html*
> *Line 1, Column 0*
> *Expression: <PathExpr standard:u'here/error_insertar'>*
> *Names:*
>
> {'container': <Folder at /ceed/finanza/proyecto>,
> 'context': <Folder at /ceed/finanza/proyecto>,
> 'default': <object object at 0x0075A528>,
> 'here': <Folder at /ceed/finanza/proyecto>,
>
> 'loop': {},
> 'nothing': None,
> 'options': {'args': ()},
> 'repeat': <Products.PageTemplates.Expressions.SafeMapping object at 0x02382828>,
> 'request': <HTTPRequest, URL=http://sic/finanza/proyecto/proyecto_alta.html>,
>
> 'root': <Application at >,
> 'template': <ZopePageTemplate at /ceed/finanza/proyecto/proyecto_alta.html>,
> 'traverse_subpath': [],
> 'user': <User 'admin'>}
>
> * Module zope.tales.expressions, line 217, in __call__
> * Module Products.PageTemplates.Expressions, line 139, in _eval
> * Module Products.PageTemplates.Expressions, line 91, in render
> * Module Products.PageTemplates.ZRPythonExpr, line 79, in call_with_ns
> * Module Shared.DC.Scripts.Bindings, line 327, in
> __render_with_namespace__
> * Module Shared.DC.Scripts.Bindings, line 350, in _bindAndExec
> * Module Products.PythonScripts.PythonScript, line 327, in _exec
> * Module None, line 2, in error_insertar
> *<PythonScript at /ceed/finanza/proyecto/error_insertar>*
> *Line 2*
>
> Unauthorized: You are not allowed to access 'type' in this context
>
>
>
> (Example taked from
> http://www.plope.com/Books/2_7Edition/AppendixC.stx#2-28
> <http://www.plope.com/Books/2_7Edition/AppendixC.stx#2-28>)
>
>
> --
> ________________________________________
> Lo bueno de vivir un dia mas
> es saber que nos queda un dia menos de vida
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Zope maillist - Zope at zope.org
> http://mail.zope.org/mailman/listinfo/zope
> ** No cross posts or HTML encoding! **
> (Related lists -
> http://mail.zope.org/mailman/listinfo/zope-announce
> http://mail.zope.org/mailman/listinfo/zope-dev )
More information about the Zope
mailing list