refactor: type hints should not be load in runtime (#15540)

This commit is contained in:
ofekisr 2021-07-05 16:48:53 +03:00 committed by GitHub
parent 624b41347b
commit 15796ea4ac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 33 additions and 8 deletions

View File

@ -14,8 +14,10 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
from __future__ import annotations
import logging
from typing import Any, ClassVar, Dict, List, Optional, Union
from typing import Any, ClassVar, Dict, List, Optional, TYPE_CHECKING, Union
import numpy as np
import pandas as pd
@ -34,7 +36,6 @@ from superset.exceptions import (
SupersetException,
)
from superset.extensions import cache_manager, security_manager
from superset.stats_logger import BaseStatsLogger
from superset.utils import csv
from superset.utils.cache import generate_cache_key, set_and_log_cache
from superset.utils.core import (
@ -50,6 +51,9 @@ from superset.utils.core import (
)
from superset.views.utils import get_viz
if TYPE_CHECKING:
from superset.stats_logger import BaseStatsLogger
config = app.config
stats_logger: BaseStatsLogger = config["STATS_LOGGER"]
logger = logging.getLogger(__name__)

View File

@ -14,10 +14,12 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
from __future__ import annotations
import logging
from datetime import datetime, timedelta
from functools import wraps
from typing import Any, Callable, Dict, Optional, Union
from typing import Any, Callable, Dict, Optional, TYPE_CHECKING, Union
from flask import current_app as app, request
from flask_caching import Cache
@ -27,10 +29,12 @@ from werkzeug.wrappers.etag import ETagResponseMixin
from superset import db
from superset.extensions import cache_manager
from superset.models.cache import CacheKey
from superset.stats_logger import BaseStatsLogger
from superset.utils.core import json_int_dttm_ser
from superset.utils.hashing import md5_sha_from_dict
if TYPE_CHECKING:
from superset.stats_logger import BaseStatsLogger
config = app.config # type: ignore
stats_logger: BaseStatsLogger = config["STATS_LOGGER"]
logger = logging.getLogger(__name__)

View File

@ -14,19 +14,23 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
from __future__ import annotations
import time
from functools import wraps
from typing import Any, Callable, Dict, Iterator, Union
from typing import Any, Callable, Dict, Iterator, TYPE_CHECKING, Union
from contextlib2 import contextmanager
from flask import current_app, Response
from superset import is_feature_enabled
from superset.dashboards.commands.exceptions import DashboardAccessDeniedError
from superset.stats_logger import BaseStatsLogger
from superset.utils import core as utils
from superset.utils.dates import now_as_float
if TYPE_CHECKING:
from superset.stats_logger import BaseStatsLogger
@contextmanager
def stats_timing(stats_key: str, stats_logger: BaseStatsLogger) -> Iterator[float]:

View File

@ -14,6 +14,8 @@
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
from __future__ import annotations
import functools
import inspect
import json
@ -22,14 +24,25 @@ import textwrap
from abc import ABC, abstractmethod
from contextlib import contextmanager
from datetime import datetime, timedelta
from typing import Any, Callable, cast, Dict, Iterator, Optional, Type, Union
from typing import (
Any,
Callable,
cast,
Dict,
Iterator,
Optional,
Type,
TYPE_CHECKING,
Union,
)
from flask import current_app, g, request
from flask_appbuilder.const import API_URI_RIS_KEY
from sqlalchemy.exc import SQLAlchemyError
from typing_extensions import Literal
from superset.stats_logger import BaseStatsLogger
if TYPE_CHECKING:
from superset.stats_logger import BaseStatsLogger
def collect_request_payload() -> Dict[str, Any]: