From 9c53323c9319165c2ed3a0bbfa493a4fd01738a9 Mon Sep 17 00:00:00 2001 From: Beto Dealmeida Date: Tue, 1 May 2018 11:18:19 -0700 Subject: [PATCH] Replace NaN/Infinity with null (#4908) --- superset/views/core.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/superset/views/core.py b/superset/views/core.py index 2e01e99b3a..a79ff2b4da 100755 --- a/superset/views/core.py +++ b/superset/views/core.py @@ -6,7 +6,6 @@ from __future__ import print_function from __future__ import unicode_literals from datetime import datetime, timedelta -import json import logging import os import re @@ -24,6 +23,7 @@ from flask_appbuilder.security.decorators import has_access, has_access_api from flask_babel import gettext as __ from flask_babel import lazy_gettext as _ import pandas as pd +import simplejson as json from six import text_type import sqlalchemy as sqla from sqlalchemy import create_engine @@ -2327,7 +2327,8 @@ class Superset(BaseSupersetView): payload_json = json.loads(payload) payload_json['data'] = payload_json['data'][:display_limit] return json_success( - json.dumps(payload_json, default=utils.json_iso_dttm_ser)) + json.dumps( + payload_json, default=utils.json_iso_dttm_ser, ignore_nan=True)) @has_access_api @expose('/stop_query/', methods=['POST']) @@ -2435,7 +2436,7 @@ class Superset(BaseSupersetView): resp = json_success(json.dumps( {'query': query.to_dict()}, default=utils.json_int_dttm_ser, - allow_nan=False), status=202) + ignore_nan=True), status=202) session.commit() return resp @@ -2453,7 +2454,7 @@ class Superset(BaseSupersetView): rendered_query, return_results=True) payload = json.dumps( - data, default=utils.pessimistic_json_iso_dttm_ser) + data, default=utils.pessimistic_json_iso_dttm_ser, ignore_nan=True) except Exception as e: logging.exception(e) return json_error_response('{}'.format(e))