From 89cb726284b2a4f2707f26d3004ef9ae59b33970 Mon Sep 17 00:00:00 2001 From: Maxime Beauchemin Date: Wed, 12 Oct 2016 17:46:31 -0700 Subject: [PATCH] [hotfix] explore errors are not raise properly 2 --- caravel/views.py | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/caravel/views.py b/caravel/views.py index f4e508cfa..74137366e 100755 --- a/caravel/views.py +++ b/caravel/views.py @@ -1192,18 +1192,29 @@ class Caravel(BaseCaravelView): @has_access_api @expose("/explore_json///") def explore_json(self, datasource_type, datasource_id): - viz_obj = self.get_viz( - datasource_type=datasource_type, - datasource_id=datasource_id, - args=request.args) + try: + viz_obj = self.get_viz( + datasource_type=datasource_type, + datasource_id=datasource_id, + args=request.args) + except Exception as e: + return json_error_response(utils.error_msg_from_exception(e)) + if not self.datasource_access(viz_obj.datasource): return Response( json.dumps( {'error': _("You don't have access to this datasource")}), status=404, mimetype="application/json") + + payload = "" + try: + payload = viz_obj.get_json() + except Exception as e: + return json_error_response(utils.error_msg_from_exception(e)) + return Response( - viz_obj.get_json(), + payload, status=200, mimetype="application/json")