This is an automated email from the ASF dual-hosted git repository. michaelsmolina pushed a commit to branch 3.0 in repository https://gitbox.apache.org/repos/asf/superset.git
commit 1757ce49a96889b5386e11ce4a662071292436f5 Author: Beto Dealmeida <robe...@dealmeida.net> AuthorDate: Tue Sep 26 19:31:34 2023 -0700 fix: chart import (#25425) (cherry picked from commit a4d8f36863e16a8c75aec2a75f2a185b6ca1d3c5) --- superset/charts/commands/importers/v1/utils.py | 4 ++-- tests/unit_tests/charts/commands/importers/v1/utils_test.py | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/superset/charts/commands/importers/v1/utils.py b/superset/charts/commands/importers/v1/utils.py index d3f90f7ff4..3ef0a2ed78 100644 --- a/superset/charts/commands/importers/v1/utils.py +++ b/superset/charts/commands/importers/v1/utils.py @@ -99,8 +99,8 @@ def migrate_chart(config: dict[str, Any]) -> dict[str, Any]: # also update `query_context` try: - query_context = json.loads(output.get("query_context", "{}")) - except json.decoder.JSONDecodeError: + query_context = json.loads(output.get("query_context") or "{}") + except (json.decoder.JSONDecodeError, TypeError): query_context = {} if "form_data" in query_context: query_context["form_data"] = output["params"] diff --git a/tests/unit_tests/charts/commands/importers/v1/utils_test.py b/tests/unit_tests/charts/commands/importers/v1/utils_test.py index c99ecaf6d6..77d31e7d77 100644 --- a/tests/unit_tests/charts/commands/importers/v1/utils_test.py +++ b/tests/unit_tests/charts/commands/importers/v1/utils_test.py @@ -32,6 +32,7 @@ def test_migrate_chart_area() -> None: "certified_by": None, "certification_details": None, "viz_type": "area", + "query_context": None, "params": json.dumps( { "adhoc_filters": [],