This is an automated email from the ASF dual-hosted git repository. johnbodley pushed a commit to branch feature--embeddable-charts-pilot in repository https://gitbox.apache.org/repos/asf/incubator-superset.git
commit 45a4a76f3f7809f0667c5933a4fc6e24ad5f6aed Author: Conglei Shi <[email protected]> AuthorDate: Fri Dec 14 17:32:46 2018 -0800 fixed test --- superset/connectors/druid/models.py | 9 +++++---- superset/viz.py | 25 +++++++++++++------------ 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/superset/connectors/druid/models.py b/superset/connectors/druid/models.py index ae53246..10baa84 100644 --- a/superset/connectors/druid/models.py +++ b/superset/connectors/druid/models.py @@ -893,10 +893,10 @@ class DruidDatasource(Model, BaseDatasource): for metric in metrics: if utils.is_adhoc_metric(metric): adhoc_agg_configs.append(metric) - elif metrics_dict[metric].metric_type != POST_AGG_TYPE: - saved_agg_names.add(metric) + elif metrics_dict[metric['label']].metric_type != POST_AGG_TYPE: + saved_agg_names.add(metric['label']) else: - postagg_names.append(metric) + postagg_names.append(metric['label']) # Create the post aggregations, maintain order since postaggs # may depend on previous ones post_aggs = OrderedDict() @@ -1371,7 +1371,8 @@ class DruidDatasource(Model, BaseDatasource): cols += [DTTM_ALIAS] cols += query_obj.get('groupby') or [] cols += query_obj.get('columns') or [] - cols += query_obj.get('metrics') or [] + metrics = query_obj.get('metrics') or [] + cols += [metric['label'] for metric in metrics] cols = utils.get_metric_names(cols) cols = [col for col in cols if col in df.columns] diff --git a/superset/viz.py b/superset/viz.py index ed6f43b..6c0a5f5 100644 --- a/superset/viz.py +++ b/superset/viz.py @@ -253,18 +253,19 @@ class BaseViz(object): def query_obj(self): query_obj = self._query_obj() - metrics = query_obj.get('metrics') - formatted_metrics = [] - for metric in metrics: - if not isinstance(metric, dict): - metric = { - 'label': metric, - 'expressionType': 'BUILTIN', - } - formatted_metrics.append(metric) - query_obj.update({ - 'metrics': formatted_metrics, - }) + if (query_obj): + metrics = query_obj.get('metrics', []) + formatted_metrics = [] + for metric in metrics: + if not isinstance(metric, dict): + metric = { + 'label': metric, + 'expressionType': 'BUILTIN', + } + formatted_metrics.append(metric) + query_obj.update({ + 'metrics': formatted_metrics, + }) return query_obj def _query_obj(self):
