11use crate :: cross:: * ;
2+ use crate :: python:: neon_py:: format_python_error;
23use crate :: python:: runtime:: py_runtime;
34use crate :: python:: { python_obj_call_sync, python_obj_method_call_sync} ;
45use crate :: template:: mj_value:: to_minijinja_value;
@@ -135,7 +136,7 @@ impl Object for JinjaPythonObject {
135136 Ok ( r) => Ok ( to_minijinja_value ( r) ) ,
136137 Err ( err) => Err ( mj:: Error :: new (
137138 minijinja:: ErrorKind :: InvalidOperation ,
138- format ! ( "Error while calling method: {}" , err) ,
139+ format ! ( "Error while calling method: {}" , format_python_error ( err) ) ,
139140 ) ) ,
140141 }
141142 }
@@ -153,7 +154,7 @@ impl Object for JinjaPythonObject {
153154 Ok ( r) => Ok ( to_minijinja_value ( r) ) ,
154155 Err ( err) => Err ( mj:: Error :: new (
155156 minijinja:: ErrorKind :: InvalidOperation ,
156- format ! ( "Error while calling method: {}" , err) ,
157+ format ! ( "Error while calling method: {}" , format_python_error ( err) ) ,
157158 ) ) ,
158159 }
159160 }
@@ -242,12 +243,22 @@ impl Object for JinjaPythonFunction {
242243 arguments. push ( from_minijinja_value ( arg) ?) ;
243244 }
244245
245- let py_runtime = py_runtime ( )
246- . map_err ( |err| mj:: Error :: new ( mj:: ErrorKind :: EvalBlock , format ! ( "Error: {}" , err) ) ) ?;
246+ let py_runtime = py_runtime ( ) . map_err ( |err| {
247+ mj:: Error :: new (
248+ mj:: ErrorKind :: EvalBlock ,
249+ format ! ( "Python runtime error: {}" , err) ,
250+ )
251+ } ) ?;
252+
247253 let call_future = py_runtime. call_async ( self . inner . clone ( ) , arguments) ;
248254
249- let tokio = tokio_runtime ( )
250- . map_err ( |err| mj:: Error :: new ( mj:: ErrorKind :: EvalBlock , format ! ( "Error: {}" , err) ) ) ?;
255+ let tokio = tokio_runtime ( ) . map_err ( |err| {
256+ mj:: Error :: new (
257+ mj:: ErrorKind :: EvalBlock ,
258+ format ! ( "Tokio runtime error: {}" , err) ,
259+ )
260+ } ) ?;
261+
251262 match tokio. block_on ( call_future) {
252263 Ok ( r) => Ok ( to_minijinja_value ( r) ) ,
253264 Err ( err) => Err ( mj:: Error :: new (
0 commit comments