From 0b51df72a7edb8d02b0c8f012e675c74038a95ec Mon Sep 17 00:00:00 2001 From: Cor Zuurmond Date: Wed, 10 Jul 2024 16:26:26 +0200 Subject: [PATCH] Add replace catalog functionality to create-dashboard command --- labs.yml | 4 ++++ pyproject.toml | 2 +- src/databricks/labs/lsql/cli.py | 5 ++++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/labs.yml b/labs.yml index 8fe9424d..0cbb7f7d 100644 --- a/labs.yml +++ b/labs.yml @@ -9,6 +9,10 @@ commands: flags: - name: folder description: The folder with dashboard files. By default, the current working directory. + - name: Catalog + description: | + Overwrite the catalog in query with given value. Useful when developing with seperated catalogs, for + example, for production and development. - name: database description: | Overwrite the database in query with given value. Useful when developing with seperated databases, for diff --git a/pyproject.toml b/pyproject.toml index 5a87c27a..17ba2b1b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -72,7 +72,7 @@ fmt = ["isort .", "mypy .", "pylint --output-format=colorized -j 0 src"] verify = ["isort . --check-only", - "ruff .", + "ruff check .", "mypy .", "pylint --output-format=colorized -j 0 src"] diff --git a/src/databricks/labs/lsql/cli.py b/src/databricks/labs/lsql/cli.py index 235247c0..354004c9 100644 --- a/src/databricks/labs/lsql/cli.py +++ b/src/databricks/labs/lsql/cli.py @@ -16,6 +16,7 @@ def create_dashboard( w: WorkspaceClient, folder: Path = Path.cwd(), *, + catalog: str = "", database: str = "", no_open: bool = False, ): @@ -24,8 +25,10 @@ def create_dashboard( lakeview_dashboards = Dashboards(w) folder = Path(folder) dashboard_metadata = DashboardMetadata.from_path(folder) + if catalog: + dashboard_metadata = dashboard_metadata.replace_database(catalog=catalog) if database: - dashboard_metadata = dashboard_metadata.replace_database(database) + dashboard_metadata = dashboard_metadata.replace_database(database=database) lakeview_dashboard = lakeview_dashboards.create_dashboard(dashboard_metadata) sdk_dashboard = lakeview_dashboards.deploy_dashboard(lakeview_dashboard) dashboard_url = f"{w.config.host}/sql/dashboardsv3/{sdk_dashboard.dashboard_id}"