This is an automated email from the ASF dual-hosted git repository.

maximebeauchemin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git


The following commit(s) were added to refs/heads/master by this push:
     new 0d0e47acf7 chore(🦾): bump python flask-session 0.5.0 -> 0.8.0 (#27751)
0d0e47acf7 is described below

commit 0d0e47acf796fe289e9c47c21506f427204d8f45
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Mon Apr 1 20:00:42 2024 -0700

    chore(🦾): bump python flask-session 0.5.0 -> 0.8.0 (#27751)
    
    Co-authored-by: GitHub Action <[email protected]>
    Co-authored-by: Maxime Beauchemin <[email protected]>
---
 UPDATING.md                                      | 3 +++
 requirements/base.txt                            | 4 +++-
 superset/config.py                               | 6 +++---
 superset/models/slice.py                         | 8 ++++----
 tests/integration_tests/charts/commands_tests.py | 7 ++++---
 5 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/UPDATING.md b/UPDATING.md
index 040196c696..459cc4e452 100644
--- a/UPDATING.md
+++ b/UPDATING.md
@@ -35,6 +35,9 @@ assists people when migrating to a new version.
   files for production use cases! While we never really supported
   or should have tried to support docker-compose for production use cases, we 
now actively
   have taken a stance against supporting it. See the PR for details.
+- [27697](https://github.com/apache/superset/pull/27697) [minor] flask-session 
bump leads to them
+  deprecating `SESSION_USE_SIGNER`, check your configs as this flag won't do 
anything moving
+  forward.
 
 ### Breaking Changes
 
diff --git a/requirements/base.txt b/requirements/base.txt
index ea0f900241..f5318071b3 100644
--- a/requirements/base.txt
+++ b/requirements/base.txt
@@ -126,7 +126,7 @@ flask-login==0.6.3
     #   flask-appbuilder
 flask-migrate==3.1.0
     # via apache-superset
-flask-session==0.5.0
+flask-session==0.8.0
     # via apache-superset
 flask-sqlalchemy==2.5.1
     # via
@@ -214,6 +214,8 @@ mdurl==0.1.2
     # via markdown-it-py
 msgpack==1.0.8
     # via apache-superset
+msgspec==0.18.6
+    # via flask-session
 nh3==0.2.17
     # via apache-superset
 numba==0.57.1
diff --git a/superset/config.py b/superset/config.py
index 2f6ce13694..0d00fedfbb 100644
--- a/superset/config.py
+++ b/superset/config.py
@@ -20,6 +20,7 @@ All configuration in this file can be overridden by providing 
a superset_config
 in your PYTHONPATH as there is a ``from superset_config import *``
 at the end of this file.
 """
+# mypy: ignore-errors
 # pylint: disable=too-many-lines
 from __future__ import annotations
 
@@ -940,7 +941,7 @@ class CeleryConfig:  # pylint: 
disable=too-few-public-methods
     }
 
 
-CELERY_CONFIG = CeleryConfig  # pylint: disable=invalid-name
+CELERY_CONFIG: type[CeleryConfig] = CeleryConfig
 
 # Set celery config to None to disable all the above configuration
 # CELERY_CONFIG = None
@@ -1474,7 +1475,6 @@ SESSION_SERVER_SIDE = False
 # from flask_session import RedisSessionInterface
 #
 # SESSION_SERVER_SIDE = True
-# SESSION_USE_SIGNER = True
 # SESSION_TYPE = "redis"
 # SESSION_REDIS = Redis(host="localhost", port=6379, db=0)
 #
@@ -1704,7 +1704,7 @@ elif importlib.util.find_spec("superset_config") and not 
is_test():
     try:
         # pylint: disable=import-error,wildcard-import,unused-wildcard-import
         import superset_config
-        from superset_config import *  # type: ignore
+        from superset_config import *  # noqa: F403, F401
 
         print(f"Loaded your LOCAL configuration at 
[{superset_config.__file__}]")
     except Exception:
diff --git a/superset/models/slice.py b/superset/models/slice.py
index eb2b220c8f..4b1cef7e46 100644
--- a/superset/models/slice.py
+++ b/superset/models/slice.py
@@ -51,7 +51,7 @@ from superset.viz import BaseViz, viz_types
 if TYPE_CHECKING:
     from superset.common.query_context import QueryContext
     from superset.common.query_context_factory import QueryContextFactory
-    from superset.connectors.sqla.models import BaseDatasource
+    from superset.connectors.sqla.models import SqlaTable
 
 metadata = Model.metadata  # pylint: disable=no-member
 slice_user = Table(
@@ -139,14 +139,14 @@ class Slice(  # pylint: disable=too-many-public-methods
         return self.slice_name or str(self.id)
 
     @property
-    def cls_model(self) -> type[BaseDatasource]:
+    def cls_model(self) -> type[SqlaTable]:
         # pylint: disable=import-outside-toplevel
         from superset.daos.datasource import DatasourceDAO
 
         return DatasourceDAO.sources[self.datasource_type]
 
     @property
-    def datasource(self) -> BaseDatasource | None:
+    def datasource(self) -> SqlaTable | None:
         return self.get_datasource
 
     def clone(self) -> Slice:
@@ -163,7 +163,7 @@ class Slice(  # pylint: disable=too-many-public-methods
 
     # pylint: disable=using-constant-test
     @datasource.getter  # type: ignore
-    def get_datasource(self) -> BaseDatasource | None:
+    def get_datasource(self) -> SqlaTable | None:
         return (
             db.session.query(self.cls_model)
             .filter_by(id=self.datasource_id)
diff --git a/tests/integration_tests/charts/commands_tests.py 
b/tests/integration_tests/charts/commands_tests.py
index 28f9d42d6d..5d3a4986b8 100644
--- a/tests/integration_tests/charts/commands_tests.py
+++ b/tests/integration_tests/charts/commands_tests.py
@@ -173,7 +173,7 @@ class TestExportChartsCommand(SupersetTestCase):
 class TestImportChartsCommand(SupersetTestCase):
     @patch("superset.utils.core.g")
     @patch("superset.security.manager.g")
-    def test_import_v1_chart(self, sm_g, utils_g):
+    def test_import_v1_chart(self, sm_g, utils_g) -> None:
         """Test that we can import a chart"""
         admin = sm_g.user = utils_g.user = security_manager.find_user("admin")
         contents = {
@@ -192,7 +192,7 @@ class TestImportChartsCommand(SupersetTestCase):
         assert json.loads(chart.params) == {
             "annotation_layers": [],
             "color_picker": {"a": 1, "b": 135, "g": 122, "r": 0},
-            "datasource": dataset.uid,
+            "datasource": dataset.uid if dataset else None,
             "js_columns": ["color"],
             "js_data_mutator": "data => data.map(d => ({\\n    ...d,\\n    
color: colors.hexToRGB(d.extraProps.color)\\n}));",
             "js_onclick_href": "",
@@ -228,7 +228,8 @@ class TestImportChartsCommand(SupersetTestCase):
         dataset = (
             
db.session.query(SqlaTable).filter_by(uuid=dataset_config["uuid"]).one()
         )
-        assert dataset.table_name == "imported_dataset"
+        table_name = dataset.table_name if dataset else None
+        assert table_name == "imported_dataset"
         assert chart.table == dataset
 
         database = (

Reply via email to