From de2b6159dc11e05a063a3f903f8116d23f6faa5c Mon Sep 17 00:00:00 2001 From: Maxime Beauchemin Date: Wed, 17 Jan 2018 10:24:23 -0800 Subject: [PATCH] [bugfix] markup and iframe viz raise 'Empty query' closes https://github.com/apache/incubator-superset/issues/4222 Related to: https://github.com/apache/incubator-superset/pull/4016 --- superset/views/core.py | 3 +-- superset/viz.py | 14 ++++++++++---- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/superset/views/core.py b/superset/views/core.py index 1cd35931c6a32..ec4cce1fb1568 100755 --- a/superset/views/core.py +++ b/superset/views/core.py @@ -1035,8 +1035,7 @@ def generate_json(self, datasource_type, datasource_id, form_data, return self.get_query_string_response(viz_obj) try: - payload = viz_obj.get_payload( - force=force) + payload = viz_obj.get_payload(force=force) except Exception as e: logging.exception(e) return json_error_response(utils.error_msg_from_exception(e)) diff --git a/superset/viz.py b/superset/viz.py index e89dca921f13f..9d6a57d8fa6eb 100644 --- a/superset/viz.py +++ b/superset/viz.py @@ -243,12 +243,12 @@ def cache_key(self, query_obj): def get_payload(self, force=False): """Handles caching around the json payload retrieval""" query_obj = self.query_obj() - cache_key = self.cache_key(query_obj) + cache_key = self.cache_key(query_obj) if query_obj else None cached_dttm = None data = None stacktrace = None rowcount = None - if not force and cache: + if cache_key and cache and not force: cache_value = cache.get(cache_key) if cache_value: stats_logger.incr('loaded_from_cache') @@ -536,7 +536,10 @@ class MarkupViz(BaseViz): verbose_name = _('Markup') is_timeseries = False - def get_df(self): + def query_obj(self): + return None + + def get_df(self, query_obj=None): return None def get_data(self, df): @@ -1573,7 +1576,10 @@ class IFrameViz(BaseViz): credits = 'a Superset original' is_timeseries = False - def get_df(self): + def query_obj(self): + return None + + def get_df(self, query_obj=None): return None