From 98ca6d02ec8108319eb1081b0c78d177cfdd58b3 Mon Sep 17 00:00:00 2001 From: Alex Roy Date: Wed, 13 Mar 2024 09:04:07 -0400 Subject: [PATCH 1/4] lowercase normal question exposures in from and join --- dbtmetabase/_exposures.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dbtmetabase/_exposures.py b/dbtmetabase/_exposures.py index 35b95e9..acdd6c0 100644 --- a/dbtmetabase/_exposures.py +++ b/dbtmetabase/_exposures.py @@ -214,7 +214,7 @@ def __extract_card_exposures( ) elif query_source in ctx.table_names: # Normal question - source_table = ctx.table_names.get(query_source) + source_table = ctx.table_names.get(query_source).lower() _logger.info("Extracted model '%s' from card", source_table) depends.add(source_table) @@ -237,6 +237,7 @@ def __extract_card_exposures( # Joined model parsed joined_table = ctx.table_names.get(join_source) if joined_table: + joined_table = joined_table.lower() _logger.info("Extracted model '%s' from join", joined_table) depends.add(joined_table) From 26753348ab18ff944a45dad15db4350456ea7a90 Mon Sep 17 00:00:00 2001 From: Alex Roy Date: Thu, 14 Mar 2024 10:29:39 -0400 Subject: [PATCH 2/4] handle edge case where source_table is None --- dbtmetabase/_exposures.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dbtmetabase/_exposures.py b/dbtmetabase/_exposures.py index acdd6c0..b5bb681 100644 --- a/dbtmetabase/_exposures.py +++ b/dbtmetabase/_exposures.py @@ -214,7 +214,9 @@ def __extract_card_exposures( ) elif query_source in ctx.table_names: # Normal question - source_table = ctx.table_names.get(query_source).lower() + source_table = ctx.table_names.get(query_source) + if source_table: + source_table = source_table.lower() _logger.info("Extracted model '%s' from card", source_table) depends.add(source_table) From 3cc8985fa3007043fffdee2cd4e18ea125c7fe5e Mon Sep 17 00:00:00 2001 From: Alex Roy Date: Thu, 14 Mar 2024 12:13:29 -0400 Subject: [PATCH 3/4] change table name to uppercase in fixtures to verify changes --- tests/fixtures/api/table.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/fixtures/api/table.json b/tests/fixtures/api/table.json index bf5ccd0..0f0a721 100644 --- a/tests/fixtures/api/table.json +++ b/tests/fixtures/api/table.json @@ -52,7 +52,7 @@ "points_of_interest": null }, "show_in_getting_started": false, - "name": "customers", + "name": "CUSTOMERS", "caveats": null, "updated_at": "2021-07-21T07:30:35.159586Z", "entity_name": null, From 904bdf8d164d149af51cb97abee3d3d0f22c6c09 Mon Sep 17 00:00:00 2001 From: Alex Roy Date: Thu, 14 Mar 2024 12:22:41 -0400 Subject: [PATCH 4/4] fix indentation --- dbtmetabase/_exposures.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dbtmetabase/_exposures.py b/dbtmetabase/_exposures.py index b5bb681..7b3783b 100644 --- a/dbtmetabase/_exposures.py +++ b/dbtmetabase/_exposures.py @@ -217,8 +217,8 @@ def __extract_card_exposures( source_table = ctx.table_names.get(query_source) if source_table: source_table = source_table.lower() - _logger.info("Extracted model '%s' from card", source_table) - depends.add(source_table) + _logger.info("Extracted model '%s' from card", source_table) + depends.add(source_table) # Find models exposed through joins for join in query.get("query", {}).get("joins", []):