From 98f75440d41aa0c7d5abfc826a2a3a4136a57849 Mon Sep 17 00:00:00 2001 From: Cristhian Garcia Date: Mon, 30 Sep 2024 12:23:49 -0500 Subject: [PATCH] feat(assets): format sql templates fore import --- .../aspects/apps/superset/pythonpath/create_assets.py | 6 +++++- .../aspects/build/aspects-superset/requirements.txt | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/tutoraspects/templates/aspects/apps/superset/pythonpath/create_assets.py b/tutoraspects/templates/aspects/apps/superset/pythonpath/create_assets.py index f72727249..2ae24294f 100644 --- a/tutoraspects/templates/aspects/apps/superset/pythonpath/create_assets.py +++ b/tutoraspects/templates/aspects/apps/superset/pythonpath/create_assets.py @@ -10,6 +10,8 @@ import yaml from copy import deepcopy from pathlib import Path +from sqlfmt.api import format_string +from sqlfmt.mode import Mode from superset import security_manager from superset.extensions import db @@ -108,6 +110,9 @@ def write_asset_to_file(asset, asset_name, folder, file_name, roles): asset["sqlalchemy_uri"] = DATABASES.get(asset["database_name"]) if folder in ["charts", "dashboards", "datasets"]: for locale in DASHBOARD_LOCALES: + if folder == "datasets": + asset["sql"] = format_string(asset["sql"], mode=Mode(dialect_name="clickhouse")) + updated_asset = generate_translated_asset( asset, asset_name, folder, locale, roles ) @@ -147,7 +152,6 @@ def generate_translated_asset(asset, asset_name, folder, language, roles): copy = deepcopy(asset) copy["uuid"] = str(get_localized_uuid(copy["uuid"], language)) copy[asset_name] = get_translation(copy[asset_name], language) - if folder == "dashboards": copy["slug"] = f"{copy['slug']}-{language}" copy["description"] = get_translation(copy["description"], language) diff --git a/tutoraspects/templates/aspects/build/aspects-superset/requirements.txt b/tutoraspects/templates/aspects/build/aspects-superset/requirements.txt index 3c2b63a0e..c3f55c10d 100644 --- a/tutoraspects/templates/aspects/build/aspects-superset/requirements.txt +++ b/tutoraspects/templates/aspects/build/aspects-superset/requirements.txt @@ -4,3 +4,4 @@ openedx-atlas ruamel-yaml==0.18.6 sentry-sdk[flask] urllib3>=1.26.15,<2 +shandy-sqlfmt[jinjafmt]==0.21.2