From 73e2c09af0ac8f2c6aec7660523183cbad5addeb Mon Sep 17 00:00:00 2001 From: ofekisr <35701650+ofekisr@users.noreply.github.com> Date: Sun, 27 Jun 2021 17:52:13 +0300 Subject: [PATCH] fix(regression): removed flask_app property can break derived class (#15407) * fix removed flask_app property can break derived class * Update __init__.py --- setup.cfg | 2 +- setup.py | 1 + superset/initialization/__init__.py | 6 ++++++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index 8fd75a0bd..afb034b3f 100644 --- a/setup.cfg +++ b/setup.cfg @@ -30,7 +30,7 @@ combine_as_imports = true include_trailing_comma = true line_length = 88 known_first_party = superset -known_third_party =alembic,apispec,backoff,bleach,cachelib,celery,click,colorama,contextlib2,cron_descriptor,croniter,cryptography,dateutil,flask,flask_appbuilder,flask_babel,flask_caching,flask_compress,flask_jwt_extended,flask_login,flask_migrate,flask_sqlalchemy,flask_talisman,flask_testing,flask_wtf,freezegun,geohash,geopy,graphlib,holidays,humanize,isodate,jinja2,jwt,markdown,markupsafe,marshmallow,marshmallow_enum,msgpack,numpy,pandas,parameterized,parsedatetime,pathlib2,pgsanity,pkg_resources,polyline,prison,pyarrow,pyhive,pyparsing,pytest,pytz,redis,requests,retry,selenium,setuptools,simplejson,slack,sqlalchemy,sqlalchemy_utils,sqlparse,typing_extensions,werkzeug,wtforms,wtforms_json,yaml +known_third_party =alembic,apispec,backoff,bleach,cachelib,celery,click,colorama,contextlib2,cron_descriptor,croniter,cryptography,dateutil,deprecation,flask,flask_appbuilder,flask_babel,flask_caching,flask_compress,flask_jwt_extended,flask_login,flask_migrate,flask_sqlalchemy,flask_talisman,flask_testing,flask_wtf,freezegun,geohash,geopy,graphlib,holidays,humanize,isodate,jinja2,jwt,markdown,markupsafe,marshmallow,marshmallow_enum,msgpack,numpy,pandas,parameterized,parsedatetime,pathlib2,pgsanity,pkg_resources,polyline,prison,pyarrow,pyhive,pyparsing,pytest,pytz,redis,requests,retry,selenium,setuptools,simplejson,slack,sqlalchemy,sqlalchemy_utils,sqlparse,typing_extensions,werkzeug,wtforms,wtforms_json,yaml multi_line_output = 3 order_by_type = false diff --git a/setup.py b/setup.py index 676905c90..878485e0d 100644 --- a/setup.py +++ b/setup.py @@ -112,6 +112,7 @@ setup( "wtforms-json", "pyparsing>=2.4.7, <3.0.0", "holidays==0.10.3", # PINNED! https://github.com/dr-prodigy/python-holidays/issues/406 + "deprecation>=2.1.0, <2.2.0", ], extras_require={ "athena": ["pyathena>=1.10.8,<1.11"], diff --git a/superset/initialization/__init__.py b/superset/initialization/__init__.py index 2654590d2..9a2050d0f 100644 --- a/superset/initialization/__init__.py +++ b/superset/initialization/__init__.py @@ -21,6 +21,7 @@ import os from typing import Any, Callable, Dict, TYPE_CHECKING import wtforms_json +from deprecation import deprecated from flask import Flask, redirect from flask_appbuilder import expose, IndexView from flask_babel import gettext as __, lazy_gettext as _ @@ -64,6 +65,11 @@ class SupersetAppInitializer: self.config = app.config self.manifest: Dict[Any, Any] = {} + @deprecated(details="use self.superset_app instead of self.flask_app") # type: ignore # pylint: disable=line-too-long + @property # type: ignore + def flask_app(self) -> SupersetApp: + return self.superset_app + def pre_init(self) -> None: """ Called before all other init tasks are complete