From 595951a968a2a1c1dd6e654f67b028b643947dc6 Mon Sep 17 00:00:00 2001
From: Leah Tacke genannt Unterberg <leah.tgu@pads.rwth-aachen.de>
Date: Tue, 22 Apr 2025 14:09:57 +0200
Subject: [PATCH] mitm dataset definition generation now respects specified
 database schema

---
 mitm_tooling/transformation/sql/from_intermediate.py      | 8 ++++----
 mitm_tooling/transformation/superset/from_intermediate.py | 4 ++--
 mitm_tooling/transformation/superset/from_sql.py          | 1 +
 mitm_tooling/transformation/superset/interface.py         | 3 +--
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/mitm_tooling/transformation/sql/from_intermediate.py b/mitm_tooling/transformation/sql/from_intermediate.py
index c24cba5..b5a3de6 100644
--- a/mitm_tooling/transformation/sql/from_intermediate.py
+++ b/mitm_tooling/transformation/sql/from_intermediate.py
@@ -9,11 +9,11 @@ def sql_rep_schema_to_db_meta(sql_rep_schema: SQLRepresentationSchema) -> DBMeta
     return DBMetaInfo.from_sa_meta(sql_rep_schema.meta, default_schema=SQL_REPRESENTATION_DEFAULT_SCHEMA)
 
 
-def header_into_db_meta(header: Header) -> DBMetaInfo:
-    sql_rep_schema = mk_sql_rep_schema(header)
+def header_into_db_meta(header: Header, override_schema: str | None = None) -> DBMetaInfo:
+    sql_rep_schema = mk_sql_rep_schema(header, override_schema=override_schema)
     return sql_rep_schema_to_db_meta(sql_rep_schema)
 
 
-def mitm_data_into_db_meta(mitm_data: MITMData) -> DBMetaInfo:
-    return header_into_db_meta(mitm_data.header)
+def mitm_data_into_db_meta(mitm_data: MITMData, override_schema: str | None = None) -> DBMetaInfo:
+    return header_into_db_meta(mitm_data.header, override_schema=override_schema)
 
diff --git a/mitm_tooling/transformation/superset/from_intermediate.py b/mitm_tooling/transformation/superset/from_intermediate.py
index bd8c6fd..22f0dac 100644
--- a/mitm_tooling/transformation/superset/from_intermediate.py
+++ b/mitm_tooling/transformation/superset/from_intermediate.py
@@ -10,7 +10,7 @@ def header_into_superset_datasource_bundle(header: Header,
                                            identifiers: DatasourceIdentifierBundle | None = None) -> SupersetDatasourceBundle:
     from ..sql.from_intermediate import header_into_db_meta
     from .from_sql import db_meta_into_superset_datasource_bundle
-    db_meta = header_into_db_meta(header)
+    db_meta = header_into_db_meta(header, override_schema=db_conn_info.schema_name)
     return db_meta_into_superset_datasource_bundle(db_meta,
                                                    db_conn_info,
                                                    identifiers)
@@ -22,7 +22,7 @@ def header_into_mitm_dataset_bundle(header: Header,
                                     identifiers: MitMDatasetIdentifierBundle | None = None) -> SupersetMitMDatasetBundle:
     from ..sql.from_intermediate import header_into_db_meta
     from .from_sql import db_meta_into_mitm_dataset_bundle
-    db_meta = header_into_db_meta(header)
+    db_meta = header_into_db_meta(header, override_schema=db_conn_info.schema_name)
     info = MitMDatasetInfo(dataset_name=dataset_name, mitm=header.mitm)
     return db_meta_into_mitm_dataset_bundle(db_meta,
                                             db_conn_info,
diff --git a/mitm_tooling/transformation/superset/from_sql.py b/mitm_tooling/transformation/superset/from_sql.py
index 879e2f2..08e223f 100644
--- a/mitm_tooling/transformation/superset/from_sql.py
+++ b/mitm_tooling/transformation/superset/from_sql.py
@@ -33,6 +33,7 @@ def db_meta_into_superset_datasource_bundle(db_meta: DBMetaInfoBase,
     def ds_uuid(tn: str) -> UUID | None:
         if (ds_id := ds_id_map.get(tn)) is not None:
             return ds_id.uuid
+        else: return None
 
     for schema_name, schema_tables in db_meta.db_structure.items():
         for table_name, tm in schema_tables.items():
diff --git a/mitm_tooling/transformation/superset/interface.py b/mitm_tooling/transformation/superset/interface.py
index 4a6a4fb..31d153e 100644
--- a/mitm_tooling/transformation/superset/interface.py
+++ b/mitm_tooling/transformation/superset/interface.py
@@ -31,8 +31,7 @@ def mk_superset_mitm_dataset_bundle(header: Header,
                                     db_conn_info: DBConnectionInfo,
                                     dataset_name: str,
                                     identifiers: MitMDatasetIdentifierBundle | None = None,
-                                    visualization_types: Iterable[
-                                                             VisualizationType] | None = None) -> SupersetMitMDatasetBundle:
+                                    visualization_types: Iterable[VisualizationType] | None = None) -> SupersetMitMDatasetBundle:
     mitm_dataset_bundle = header_into_mitm_dataset_bundle(header,
                                                           db_conn_info,
                                                           dataset_name, identifiers)
-- 
GitLab