|
54 | 54 | FestimWall, |
55 | 55 | Integrator, |
56 | 56 | ) |
57 | | -from flask import jsonify |
58 | 57 | import inspect |
59 | 58 |
|
60 | 59 | NAME_TO_SOLVER = { |
@@ -275,32 +274,25 @@ def make_solver_params(solver_prms, eval_namespace=None): |
275 | 274 |
|
276 | 275 | for k, v in solver_prms.items(): |
277 | 276 | if k not in ["Solver", "log"]: |
278 | | - try: |
279 | | - if v == "": |
280 | | - # TODO get the default from pathsim._constants |
281 | | - solver_prms[k] = None |
282 | | - else: |
283 | | - solver_prms[k] = eval(v, eval_namespace) |
284 | | - except Exception as e: |
285 | | - return jsonify( |
286 | | - {"error": f"Invalid value for {k}: {v}. Error: {str(e)}"} |
287 | | - ), 400 |
| 277 | + if v == "": |
| 278 | + # TODO get the default from pathsim._constants |
| 279 | + solver_prms[k] = None |
| 280 | + else: |
| 281 | + solver_prms[k] = eval(v, eval_namespace) |
288 | 282 | elif k == "log": |
289 | 283 | if v == "true": |
290 | 284 | solver_prms[k] = True |
291 | 285 | elif v == "false": |
292 | 286 | solver_prms[k] = False |
293 | 287 | else: |
294 | | - return jsonify( |
295 | | - {"error": f"Invalid value for {k}: {v}. Must be 'true' or 'false'."} |
296 | | - ), 400 |
| 288 | + raise ValueError( |
| 289 | + f"Invalid value for {k}: {v}. Must be 'true' or 'false'." |
| 290 | + ) |
297 | 291 | elif k == "Solver": |
298 | 292 | if v not in NAME_TO_SOLVER: |
299 | | - return jsonify( |
300 | | - { |
301 | | - "error": f"Invalid solver: {v}. Must be one of {list(NAME_TO_SOLVER.keys())}." |
302 | | - } |
303 | | - ), 400 |
| 293 | + raise ValueError( |
| 294 | + f"Invalid solver: {v}. Must be one of {list(NAME_TO_SOLVER.keys())}." |
| 295 | + ) |
304 | 296 | solver_prms[k] = NAME_TO_SOLVER[v] |
305 | 297 |
|
306 | 298 | # remove solver duration from solver parameters |
@@ -777,7 +769,7 @@ def make_pathsim_model(graph_data: dict) -> tuple[Simulation, float]: |
777 | 769 | try: |
778 | 770 | exec(python_code, eval_namespace) |
779 | 771 | except Exception as e: |
780 | | - return jsonify({"error": f"Error executing Python code: {str(e)}"}), 400 |
| 772 | + raise ValueError(f"Error executing custom Python code: {str(e)}") |
781 | 773 |
|
782 | 774 | solver_prms, extra_params, duration = make_solver_params( |
783 | 775 | solver_prms, eval_namespace |
|
0 commit comments