mirror of
https://github.com/apache/superset.git
synced 2026-05-12 19:35:17 +00:00
chore: Remove obsolete legacy visualizations (#24694)
(cherry picked from commit 1b5a6790f0)
This commit is contained in:
committed by
Michael S. Molina
parent
2e913492c9
commit
4390968dd7
@@ -33,7 +33,10 @@ from superset.common.db_query_status import QueryStatus
|
||||
from superset.common.query_actions import get_query_results
|
||||
from superset.common.utils import dataframe_utils
|
||||
from superset.common.utils.query_cache_manager import QueryCacheManager
|
||||
from superset.common.utils.time_range_utils import get_since_until_from_query_object
|
||||
from superset.common.utils.time_range_utils import (
|
||||
get_since_until_from_query_object,
|
||||
get_since_until_from_time_range,
|
||||
)
|
||||
from superset.connectors.base.models import BaseDatasource
|
||||
from superset.constants import CacheRegion, TimeGrain
|
||||
from superset.daos.annotation import AnnotationLayerDAO
|
||||
@@ -64,6 +67,7 @@ from superset.utils.core import (
|
||||
from superset.utils.date_parser import get_past_or_future, normalize_time_delta
|
||||
from superset.utils.pandas_postprocessing.utils import unescape_separator
|
||||
from superset.views.utils import get_viz
|
||||
from superset.viz import viz_types
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from superset.common.query_context import QueryContext
|
||||
@@ -685,22 +689,53 @@ class QueryContextProcessor:
|
||||
def get_viz_annotation_data(
|
||||
annotation_layer: dict[str, Any], force: bool
|
||||
) -> dict[str, Any]:
|
||||
chart = ChartDAO.find_by_id(annotation_layer["value"])
|
||||
if not chart:
|
||||
# pylint: disable=import-outside-toplevel,superfluous-parens
|
||||
from superset.charts.data.commands.get_data_command import ChartDataCommand
|
||||
|
||||
if not (chart := ChartDAO.find_by_id(annotation_layer["value"])):
|
||||
raise QueryObjectValidationError(_("The chart does not exist"))
|
||||
if not chart.datasource:
|
||||
raise QueryObjectValidationError(_("The chart datasource does not exist"))
|
||||
form_data = chart.form_data.copy()
|
||||
form_data.update(annotation_layer.get("overrides", {}))
|
||||
|
||||
try:
|
||||
viz_obj = get_viz(
|
||||
datasource_type=chart.datasource.type,
|
||||
datasource_id=chart.datasource.id,
|
||||
form_data=form_data,
|
||||
force=force,
|
||||
)
|
||||
payload = viz_obj.get_payload()
|
||||
return payload["data"]
|
||||
if chart.viz_type in viz_types:
|
||||
if not chart.datasource:
|
||||
raise QueryObjectValidationError(
|
||||
_("The chart datasource does not exist"),
|
||||
)
|
||||
|
||||
form_data = chart.form_data.copy()
|
||||
form_data.update(annotation_layer.get("overrides", {}))
|
||||
|
||||
payload = get_viz(
|
||||
datasource_type=chart.datasource.type,
|
||||
datasource_id=chart.datasource.id,
|
||||
form_data=form_data,
|
||||
force=force,
|
||||
).get_payload()
|
||||
|
||||
return payload["data"]
|
||||
|
||||
if not (query_context := chart.get_query_context()):
|
||||
raise QueryObjectValidationError(
|
||||
_("The chart query context does not exist"),
|
||||
)
|
||||
|
||||
if overrides := annotation_layer.get("overrides"):
|
||||
if time_grain_sqla := overrides.get("time_grain_sqla"):
|
||||
for query_object in query_context.queries:
|
||||
query_object.extras["time_grain_sqla"] = time_grain_sqla
|
||||
|
||||
if time_range := overrides.get("time_range"):
|
||||
from_dttm, to_dttm = get_since_until_from_time_range(time_range)
|
||||
|
||||
for query_object in query_context.queries:
|
||||
query_object.from_dttm = from_dttm
|
||||
query_object.to_dttm = to_dttm
|
||||
|
||||
query_context.force = force
|
||||
command = ChartDataCommand(query_context)
|
||||
command.validate()
|
||||
payload = command.run()
|
||||
return {"records": payload["queries"][0]["data"]}
|
||||
except SupersetException as ex:
|
||||
raise QueryObjectValidationError(error_msg_from_exception(ex)) from ex
|
||||
|
||||
|
||||
Reference in New Issue
Block a user