From 10e5db61856c847f043acb6254a12b22980656c0 Mon Sep 17 00:00:00 2001 From: Maxime Beauchemin Date: Tue, 23 Jan 2018 20:45:59 -0800 Subject: [PATCH] Handle 'pd.Timestamp' when jsonifying --- superset/utils.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/superset/utils.py b/superset/utils.py index 8224843213d2..4b0817475f99 100644 --- a/superset/utils.py +++ b/superset/utils.py @@ -34,6 +34,7 @@ from flask_cache import Cache import markdown as md import numpy +import pandas as pd import parsedatetime from past.builtins import basestring from pydruid.utils.having import Having @@ -310,11 +311,7 @@ def json_iso_dttm_ser(obj, pessimistic=False): val = base_json_conv(obj) if val is not None: return val - if isinstance(obj, datetime): - obj = obj.isoformat() - elif isinstance(obj, date): - obj = obj.isoformat() - elif isinstance(obj, time): + if isinstance(obj, (datetime, date, time, pd.Timestamp)): obj = obj.isoformat() else: if pessimistic: @@ -348,7 +345,7 @@ def json_int_dttm_ser(obj): val = base_json_conv(obj) if val is not None: return val - if isinstance(obj, datetime): + if isinstance(obj, (datetime, pd.Timestamp)): obj = datetime_to_epoch(obj) elif isinstance(obj, date): obj = (obj - EPOCH.date()).total_seconds() * 1000