From f357353f136b3dce10df28b09486cedac4b7c188 Mon Sep 17 00:00:00 2001 From: Leah Tacke genannt Unterberg <leah.tgu@pads.rwth-aachen.de> Date: Thu, 10 Apr 2025 13:23:32 +0200 Subject: [PATCH] minor fixes --- justfile | 2 +- .../superset/asset_bundles/identifier.py | 17 ++++++++++++++++- .../superset/definitions/mitm_dataset.py | 2 +- pyproject.toml | 12 +----------- 4 files changed, 19 insertions(+), 14 deletions(-) diff --git a/justfile b/justfile index d240c6a..953a803 100644 --- a/justfile +++ b/justfile @@ -13,7 +13,7 @@ sync: build: uv build -publish +publish: uv publish requirements: diff --git a/mitm_tooling/transformation/superset/asset_bundles/identifier.py b/mitm_tooling/transformation/superset/asset_bundles/identifier.py index 4fcb5ed..8fa65b6 100644 --- a/mitm_tooling/transformation/superset/asset_bundles/identifier.py +++ b/mitm_tooling/transformation/superset/asset_bundles/identifier.py @@ -1,9 +1,10 @@ +from typing import Self from uuid import UUID import pydantic from mitm_tooling.transformation.superset.definitions import DatasetIdentifierMap, \ - DatabaseIdentifier, MitMDatasetIdentifier, BaseSupersetDefinition, DashboardIdentifier + DatabaseIdentifier, MitMDatasetIdentifier, BaseSupersetDefinition, DashboardIdentifier, SupersetMitMDatasetDef VizDashboardIdentifierMap = dict[str, DashboardIdentifier] VizCollectionIdentifierMap = dict[str, VizDashboardIdentifierMap] @@ -18,6 +19,11 @@ class DatasourceIdentifierBundle(BaseSupersetDefinition): if self.database is not None: return self.database.uuid + @classmethod + def from_mitm_dataset(cls, mitm_dataset: SupersetMitMDatasetDef) -> Self: + return cls(database=DatabaseIdentifier(uuid=mitm_dataset.database_uuid), + ds_id_map={t.table_name: t for t in (mitm_dataset.tables or [])}) + class MitMDatasetIdentifierBundle(DatasourceIdentifierBundle): mitm_dataset: MitMDatasetIdentifier | None = None @@ -27,3 +33,12 @@ class MitMDatasetIdentifierBundle(DatasourceIdentifierBundle): def mitm_dataset_uuid(self) -> UUID | None: if self.mitm_dataset is not None: return self.mitm_dataset.uuid + + @classmethod + def from_mitm_dataset(cls, mitm_dataset: SupersetMitMDatasetDef) -> Self: + return cls(mitm_dataset=mitm_dataset.identifier, + database=DatabaseIdentifier(uuid=mitm_dataset.database_uuid), + ds_id_map={t.table_name: t for t in (mitm_dataset.tables or [])}, + viz_id_map={ + 'default': {dash.dashboard_title: dash for dash in + (mitm_dataset.dashboards or [])}}) diff --git a/mitm_tooling/transformation/superset/definitions/mitm_dataset.py b/mitm_tooling/transformation/superset/definitions/mitm_dataset.py index 8df850e..f0fd70d 100644 --- a/mitm_tooling/transformation/superset/definitions/mitm_dataset.py +++ b/mitm_tooling/transformation/superset/definitions/mitm_dataset.py @@ -1,6 +1,6 @@ from mitm_tooling.definition import MITM from mitm_tooling.representation import Header -from mitm_tooling.transformation.superset.definitions import SupersetDefFile, StrUUID, DatasetIdentifier, \ +from ..definitions import SupersetDefFile, StrUUID, DatasetIdentifier, \ DashboardIdentifier, ChartIdentifier, \ MitMDatasetIdentifier, SupersetObjectMixin diff --git a/pyproject.toml b/pyproject.toml index 006bad0..ff734aa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "mitm-tooling" -version = "0.5.0" +version = "0.5.1" description = "" authors = [{ name = "Leah Tacke genannt Unterberg", email = "l.tgu@pads.rwth-aachen.de" }] requires-python = ">=3.11,<3.14" @@ -30,16 +30,6 @@ dev = [ [tool.uv] -[[tool.uv.index]] -name = "testpypi" -url = "https://test.pypi.org/" -explicit = true - -[[tool.uv.index]] -name = "PyPI" -url = "https://pypi.org/simple/" -default = true - [tool.hatch.build.targets.sdist] include = ["mitm_tooling"] -- GitLab