77
88import logistro
99
10- from ._errors import JavascriptError , KaleidoError , _get_error , _raise_error
10+ from ._errors import KaleidoError , _raise_error
1111
1212if TYPE_CHECKING :
1313 from typing import Any
@@ -75,11 +75,8 @@ async def exec_js_fn(
7575
7676def check_kaleido_js_response (
7777 response ,
78- ) -> tuple [
79- dict ,
80- Exception | None ,
81- ]:
82- # TODO(AJP) provoke a js error and return js error
78+ ) -> dict :
79+ _raise_error (response )
8380 js_response = json .loads (
8481 response .get (
8582 "result" ,
@@ -93,23 +90,24 @@ def check_kaleido_js_response(
9390 "value" ,
9491 ),
9592 )
96- if not js_response : # not loved, neither {}
97- return {}, RuntimeError (
98- f"JS Response not understood: { response } " ,
93+ if not js_response :
94+ raise RuntimeError (
95+ f"Javascript response not understood: { response } " ,
9996 )
97+ # NOTE: Why above "JavascriptError"
98+ # This is an error in extracting a response when we expected javascript.
99+ # If its an actual javascript error, the response will be coherent, and
100+ # _raise_error above will find it.
100101
101102 if js_response ["code" ] != 0 :
102- return {}, KaleidoError (js_response ["code" ], js_response ["message" ])
103+ raise KaleidoError (js_response ["code" ], js_response ["message" ])
103104
104- return js_response , None
105+ return js_response
105106
106107
107108async def print_pdf (
108109 tab : choreographer .Tab ,
109- ) -> tuple [
110- str ,
111- Exception | None ,
112- ]:
110+ ) -> str :
113111 pdf_params = {
114112 "printBackground" : True ,
115113 "marginTop" : 0.1 ,
@@ -123,7 +121,5 @@ async def print_pdf(
123121 "Page.printToPDF" ,
124122 params = pdf_params ,
125123 )
126- e = _get_error (pdf_response )
127- if e :
128- return "" , e
129- return pdf_response .get ("result" , {}).get ("data" ), None
124+ _raise_error (pdf_response )
125+ return pdf_response .get ("result" , {}).get ("data" ) # Check for None?
0 commit comments