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": [],

Reply via email to