mirror of
https://github.com/apache/superset.git
synced 2026-04-07 10:31:50 +00:00
chore: use official isort in pre-commmit (#17215)
This commit is contained in:
@@ -15,12 +15,8 @@
|
||||
# limitations under the License.
|
||||
#
|
||||
repos:
|
||||
- repo: https://github.com/asottile/seed-isort-config
|
||||
rev: v1.9.3
|
||||
hooks:
|
||||
- id: seed-isort-config
|
||||
- repo: https://github.com/pre-commit/mirrors-isort
|
||||
rev: v4.3.21
|
||||
- repo: https://github.com/PyCQA/isort
|
||||
rev: 5.9.3
|
||||
hooks:
|
||||
- id: isort
|
||||
- repo: https://github.com/pre-commit/mirrors-mypy
|
||||
|
||||
@@ -53,6 +53,7 @@ logger = logging.getLogger(__name__)
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from flask_appbuilder.security.sqla import models
|
||||
|
||||
from superset.connectors.sqla.models import SqlaTable
|
||||
from superset.models.core import Database
|
||||
|
||||
|
||||
@@ -112,8 +112,8 @@ class SupersetAppInitializer: # pylint: disable=too-many-public-methods
|
||||
# the global Flask app
|
||||
#
|
||||
# pylint: disable=import-outside-toplevel,too-many-locals,too-many-statements
|
||||
from superset.annotation_layers.api import AnnotationLayerRestApi
|
||||
from superset.annotation_layers.annotations.api import AnnotationRestApi
|
||||
from superset.annotation_layers.api import AnnotationLayerRestApi
|
||||
from superset.async_events.api import AsyncEventsRestApi
|
||||
from superset.cachekeys.api import CacheRestApi
|
||||
from superset.charts.api import ChartRestApi
|
||||
@@ -132,16 +132,16 @@ class SupersetAppInitializer: # pylint: disable=too-many-public-methods
|
||||
)
|
||||
from superset.css_templates.api import CssTemplateRestApi
|
||||
from superset.dashboards.api import DashboardRestApi
|
||||
from superset.dashboards.filter_sets.api import FilterSetRestApi
|
||||
from superset.databases.api import DatabaseRestApi
|
||||
from superset.datasets.api import DatasetRestApi
|
||||
from superset.datasets.columns.api import DatasetColumnsRestApi
|
||||
from superset.datasets.metrics.api import DatasetMetricRestApi
|
||||
from superset.queries.api import QueryRestApi
|
||||
from superset.security.api import SecurityRestApi
|
||||
from superset.queries.saved_queries.api import SavedQueryRestApi
|
||||
from superset.reports.api import ReportScheduleRestApi
|
||||
from superset.reports.logs.api import ReportExecutionLogRestApi
|
||||
from superset.dashboards.filter_sets.api import FilterSetRestApi
|
||||
from superset.security.api import SecurityRestApi
|
||||
from superset.views.access_requests import AccessRequestsModelView
|
||||
from superset.views.alerts import (
|
||||
AlertLogModelView,
|
||||
|
||||
@@ -69,8 +69,8 @@ if TYPE_CHECKING:
|
||||
from superset.common.query_context import QueryContext
|
||||
from superset.connectors.base.models import BaseDatasource
|
||||
from superset.connectors.druid.models import DruidCluster
|
||||
from superset.models.dashboard import Dashboard
|
||||
from superset.models.core import Database
|
||||
from superset.models.dashboard import Dashboard
|
||||
from superset.models.sql_lab import Query
|
||||
from superset.sql_parse import Table
|
||||
from superset.viz import BaseViz
|
||||
@@ -1169,10 +1169,10 @@ class SupersetSecurityManager( # pylint: disable=too-many-public-methods
|
||||
:raises DashboardAccessDeniedError: If the user cannot access the resource
|
||||
"""
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from superset import is_feature_enabled
|
||||
from superset.dashboards.commands.exceptions import DashboardAccessDeniedError
|
||||
from superset.views.base import get_user_roles, is_user_admin
|
||||
from superset.views.utils import is_owner
|
||||
from superset import is_feature_enabled
|
||||
|
||||
if is_feature_enabled("DASHBOARD_RBAC"):
|
||||
has_rbac_access = any(
|
||||
@@ -1193,8 +1193,8 @@ class SupersetSecurityManager( # pylint: disable=too-many-public-methods
|
||||
# pylint: disable=import-outside-toplevel
|
||||
from superset import db
|
||||
from superset.dashboards.filters import DashboardAccessFilter
|
||||
from superset.models.slice import Slice
|
||||
from superset.models.dashboard import Dashboard
|
||||
from superset.models.slice import Slice
|
||||
|
||||
datasource_class = type(datasource)
|
||||
query = (
|
||||
|
||||
@@ -37,10 +37,10 @@ from superset.sqllab.exceptions import (
|
||||
from superset.sqllab.limiting_factor import LimitingFactor
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from superset.databases.dao import DatabaseDAO
|
||||
from superset.queries.dao import QueryDAO
|
||||
from superset.sqllab.sql_json_executer import SqlJsonExecutor
|
||||
from superset.sqllab.sqllab_execution_context import SqlJsonExecutionContext
|
||||
from superset.queries.dao import QueryDAO
|
||||
from superset.databases.dao import DatabaseDAO
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -26,9 +26,9 @@ from superset.sqllab.command_status import SqlJsonExecutionStatus
|
||||
from superset.sqllab.utils import apply_display_max_row_configuration_if_require
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from superset.sqllab.sqllab_execution_context import SqlJsonExecutionContext
|
||||
from superset.sqllab.sql_json_executer import SqlResults
|
||||
from superset.models.sql_lab import Query
|
||||
from superset.sqllab.sql_json_executer import SqlResults
|
||||
from superset.sqllab.sqllab_execution_context import SqlJsonExecutionContext
|
||||
|
||||
|
||||
class ExecutionContextConvertorImpl(ExecutionContextConvertor):
|
||||
|
||||
@@ -32,8 +32,8 @@ from superset.utils import core as utils
|
||||
MSG_OF_1006 = "Issue 1006 - One or more parameters specified in the query are missing."
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from superset.sqllab.sqllab_execution_context import SqlJsonExecutionContext
|
||||
from superset.jinja_context import BaseTemplateProcessor
|
||||
from superset.sqllab.sqllab_execution_context import SqlJsonExecutionContext
|
||||
|
||||
PARAMETER_MISSING_ERR = (
|
||||
"Please check your template parameters for syntax errors and make sure "
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
# under the License.
|
||||
"""Utility functions used across Superset"""
|
||||
# pylint: disable=too-many-lines
|
||||
import _thread # pylint: disable=C0411
|
||||
import collections
|
||||
import decimal
|
||||
import errno
|
||||
@@ -85,7 +86,6 @@ from sqlalchemy.sql.type_api import Variant
|
||||
from sqlalchemy.types import TEXT, TypeDecorator, TypeEngine
|
||||
from typing_extensions import TypedDict, TypeGuard
|
||||
|
||||
import _thread # pylint: disable=C0411
|
||||
from superset.constants import (
|
||||
EXAMPLES_DB_UUID,
|
||||
EXTRA_FORM_DATA_APPEND_KEYS,
|
||||
|
||||
@@ -49,17 +49,18 @@ from tests.integration_tests.test_app import app
|
||||
if TYPE_CHECKING:
|
||||
from flask.ctx import AppContext
|
||||
from flask.testing import FlaskClient
|
||||
from flask_appbuilder.security.manager import BaseSecurityManager
|
||||
from flask_appbuilder.security.sqla.models import (
|
||||
PermissionView,
|
||||
Role,
|
||||
User,
|
||||
ViewMenu,
|
||||
PermissionView,
|
||||
)
|
||||
from flask_appbuilder.security.manager import BaseSecurityManager
|
||||
from sqlalchemy.orm import Session
|
||||
from superset.models.slice import Slice
|
||||
|
||||
from superset.connectors.sqla.models import SqlaTable
|
||||
from superset.models.core import Database
|
||||
from superset.models.slice import Slice
|
||||
|
||||
|
||||
security_manager: BaseSecurityManager = sm
|
||||
|
||||
@@ -32,6 +32,7 @@ from tests.integration_tests.dashboards.filter_sets.utils import (
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from flask.testing import FlaskClient
|
||||
|
||||
from superset.models.filter_set import FilterSet
|
||||
|
||||
|
||||
|
||||
@@ -31,6 +31,7 @@ from tests.integration_tests.dashboards.filter_sets.utils import (
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from flask.testing import FlaskClient
|
||||
|
||||
from superset.models.filter_set import FilterSet
|
||||
|
||||
|
||||
|
||||
@@ -40,6 +40,7 @@ from tests.integration_tests.dashboards.filter_sets.utils import (
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from flask.testing import FlaskClient
|
||||
|
||||
from superset.models.filter_set import FilterSet
|
||||
|
||||
|
||||
|
||||
@@ -71,7 +71,7 @@ def _load_data():
|
||||
fetch_values_predicate="123 = 123",
|
||||
)
|
||||
|
||||
from superset.examples.birth_names import create_slices, create_dashboard
|
||||
from superset.examples.birth_names import create_dashboard, create_slices
|
||||
|
||||
slices, _ = create_slices(table, admin_owner=False)
|
||||
dash = create_dashboard(slices)
|
||||
|
||||
@@ -1610,9 +1610,10 @@ def test_grace_period_error_flap(
|
||||
)
|
||||
@patch("superset.reports.dao.ReportScheduleDAO.bulk_delete_logs")
|
||||
def test_prune_log_soft_time_out(bulk_delete_logs, create_report_email_dashboard):
|
||||
from celery.exceptions import SoftTimeLimitExceeded
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
from celery.exceptions import SoftTimeLimitExceeded
|
||||
|
||||
bulk_delete_logs.side_effect = SoftTimeLimitExceeded()
|
||||
with pytest.raises(SoftTimeLimitExceeded) as excinfo:
|
||||
AsyncPruneReportScheduleLogCommand().run()
|
||||
|
||||
@@ -58,6 +58,12 @@ VIRTUAL_TABLE_STRING_TYPES: Dict[str, Pattern[str]] = {
|
||||
}
|
||||
|
||||
|
||||
class FilterTestCase(NamedTuple):
|
||||
operator: str
|
||||
value: Union[float, int, List[Any], str]
|
||||
expected: Union[str, List[str]]
|
||||
|
||||
|
||||
class TestDatabaseModel(SupersetTestCase):
|
||||
def test_is_time_druid_time_col(self):
|
||||
"""Druid has a special __time column"""
|
||||
@@ -223,11 +229,6 @@ class TestDatabaseModel(SupersetTestCase):
|
||||
|
||||
@pytest.mark.usefixtures("load_birth_names_dashboard_with_slices")
|
||||
def test_where_operators(self):
|
||||
class FilterTestCase(NamedTuple):
|
||||
operator: str
|
||||
value: Union[float, int, List[Any], str]
|
||||
expected: Union[str, List[str]]
|
||||
|
||||
filters: Tuple[FilterTestCase, ...] = (
|
||||
FilterTestCase(FilterOperator.IS_NULL, "", "IS NULL"),
|
||||
FilterTestCase(FilterOperator.IS_NOT_NULL, "", "IS NOT NULL"),
|
||||
|
||||
Reference in New Issue
Block a user