[flake8] Resolve I??? errors (#3797)

This commit is contained in:
John Bodley 2017-11-07 20:23:40 -08:00 committed by Maxime Beauchemin
parent 7987cb794b
commit e2bca47421
45 changed files with 224 additions and 269 deletions

View File

@ -1,6 +1,7 @@
from superset import sm
from collections import defaultdict
from superset import sm
def cleanup_permissions():
# 1. Clean up duplicates.

View File

@ -1,7 +1,8 @@
import json
import os
import subprocess
import json
from setuptools import setup, find_packages
from setuptools import find_packages, setup
BASE_DIR = os.path.abspath(os.path.dirname(__file__))
PACKAGE_DIR = os.path.join(BASE_DIR, 'superset', 'static', 'assets')

View File

@ -4,14 +4,13 @@ from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
import json
import logging
from logging.handlers import TimedRotatingFileHandler
import json
import os
from flask import Flask, redirect
from flask_appbuilder import SQLA, AppBuilder, IndexView
from flask_appbuilder import AppBuilder, IndexView, SQLA
from flask_appbuilder.baseviews import expose
from flask_migrate import Migrate
from flask_wtf.csrf import CSRFProtect

View File

@ -1,6 +1,7 @@
from superset import tables_cache
from flask import request
from superset import tables_cache
def view_cache_key(*unused_args, **unused_kwargs):
args_hash = hash(frozenset(request.args.items()))

View File

@ -4,8 +4,8 @@ from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
import logging
from datetime import datetime
import logging
from subprocess import Popen
from colorama import Fore, Style

View File

@ -9,11 +9,11 @@ from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
from collections import OrderedDict
import imp
import json
import os
import sys
from collections import OrderedDict
from dateutil import tz
from flask_appbuilder.security.manager import AUTH_DB

View File

@ -1,10 +1,10 @@
import json
from sqlalchemy import (
and_, Column, Integer, String, Text, Boolean,
and_, Boolean, Column, Integer, String, Text,
)
from sqlalchemy.orm import foreign, relationship
from sqlalchemy.ext.declarative import declared_attr
from sqlalchemy.orm import foreign, relationship
from superset import utils
from superset.models.core import Slice

View File

@ -1,7 +1,8 @@
from superset.views.base import SupersetModelView
from superset.utils import SupersetException
from flask import Markup
from superset.utils import SupersetException
from superset.views.base import SupersetModelView
class DatasourceModelView(SupersetModelView):
def pre_delete(self, obj):

View File

@ -1,41 +1,37 @@
# pylint: disable=invalid-unary-operand-type
from collections import OrderedDict
import json
import logging
from copy import deepcopy
from datetime import datetime, timedelta
from six import string_types
import json
import logging
from multiprocessing import Pool
import requests
import sqlalchemy as sa
from sqlalchemy import (
Column, Integer, String, ForeignKey, Text, Boolean,
DateTime, or_,
)
from sqlalchemy.orm import backref, relationship
from dateutil.parser import parse as dparse
from flask import escape, Markup
from flask_appbuilder import Model
from flask_appbuilder.models.decorators import renders
from flask_babel import lazy_gettext as _
from pydruid.client import PyDruid
from pydruid.utils.aggregators import count
from pydruid.utils.filters import Dimension, Filter, Bound
from pydruid.utils.postaggregator import (
Postaggregator, Quantile, Quantiles, Field, Const, HyperUniqueCardinality,
)
from pydruid.utils.filters import Bound, Dimension, Filter
from pydruid.utils.having import Aggregation
from flask import Markup, escape
from flask_appbuilder.models.decorators import renders
from flask_appbuilder import Model
from flask_babel import lazy_gettext as _
from superset import conf, db, import_util, utils, sm
from superset.utils import (
flasher, MetricPermException, DimSelector, DTTM_ALIAS
from pydruid.utils.postaggregator import (
Const, Field, HyperUniqueCardinality, Postaggregator, Quantile, Quantiles,
)
from superset.connectors.base.models import BaseDatasource, BaseColumn, BaseMetric
import requests
from six import string_types
import sqlalchemy as sa
from sqlalchemy import (
Boolean, Column, DateTime, ForeignKey, Integer, or_, String, Text,
)
from sqlalchemy.orm import backref, relationship
from superset import conf, db, import_util, sm, utils
from superset.connectors.base.models import BaseColumn, BaseDatasource, BaseMetric
from superset.models.helpers import AuditMixinNullable, QueryResult, set_perm
from superset.utils import (
DimSelector, DTTM_ALIAS, flasher, MetricPermException,
)
DRUID_TZ = conf.get("DRUID_TZ")

View File

@ -1,22 +1,21 @@
from datetime import datetime
import logging
from flask import Markup, flash, redirect
from flask import flash, Markup, redirect
from flask_appbuilder import CompactCRUDMixin, expose
from flask_appbuilder.models.sqla.interface import SQLAInterface
from flask_babel import lazy_gettext as _
from flask_babel import gettext as __
from flask_babel import lazy_gettext as _
from superset import db, utils, appbuilder, sm, security
from superset import appbuilder, db, security, sm, utils
from superset.connectors.base.views import DatasourceModelView
from superset.connectors.connector_registry import ConnectorRegistry
from superset.utils import has_access
from superset.connectors.base.views import DatasourceModelView
from superset.views.base import (
BaseSupersetView,
SupersetModelView, validate_json, DeleteMixin, ListWidgetWithCheckboxes,
DatasourceFilter, get_datasource_exist_error_mgs)
BaseSupersetView, DatasourceFilter, DeleteMixin,
get_datasource_exist_error_mgs, ListWidgetWithCheckboxes, SupersetModelView,
validate_json
)
from . import models

View File

@ -1,31 +1,28 @@
from datetime import datetime
import logging
import sqlparse
from past.builtins import basestring
import pandas as pd
from sqlalchemy import (
Column, Integer, String, ForeignKey, Text, Boolean,
DateTime,
)
import sqlalchemy as sa
from sqlalchemy import asc, and_, desc, select, or_
from sqlalchemy.sql.expression import TextAsFrom
from sqlalchemy.orm import backref, relationship
from sqlalchemy.sql import table, literal_column, text, column
from flask import escape, Markup
from flask_appbuilder import Model
from flask_babel import lazy_gettext as _
import pandas as pd
from past.builtins import basestring
import sqlalchemy as sa
from sqlalchemy import (
and_, asc, Boolean, Column, DateTime, desc, ForeignKey, Integer, or_,
select, String, Text,
)
from sqlalchemy.orm import backref, relationship
from sqlalchemy.sql import column, literal_column, table, text
from sqlalchemy.sql.expression import TextAsFrom
import sqlparse
from superset import db, utils, import_util, sm
from superset.connectors.base.models import BaseDatasource, BaseColumn, BaseMetric
from superset.utils import DTTM_ALIAS, QueryStatus
from superset.models.helpers import QueryResult
from superset.models.core import Database
from superset import db, import_util, sm, utils
from superset.connectors.base.models import BaseColumn, BaseDatasource, BaseMetric
from superset.jinja_context import get_template_processor
from superset.models.core import Database
from superset.models.helpers import QueryResult
from superset.models.helpers import set_perm
from superset.utils import DTTM_ALIAS, QueryStatus
class TableColumn(Model, BaseColumn):

View File

@ -1,22 +1,19 @@
"""Views used by the SqlAlchemy connector"""
from past.builtins import basestring
from flask import Markup, flash, redirect
from flask import flash, Markup, redirect
from flask_appbuilder import CompactCRUDMixin, expose
from flask_appbuilder.actions import action
from flask_appbuilder.models.sqla.interface import SQLAInterface
from flask_babel import lazy_gettext as _
from flask_babel import gettext as __
from flask_babel import lazy_gettext as _
from past.builtins import basestring
from superset import appbuilder, db, utils, security, sm
from superset.utils import has_access
from superset import appbuilder, db, security, sm, utils
from superset.connectors.base.views import DatasourceModelView
from superset.utils import has_access
from superset.views.base import (
SupersetModelView, ListWidgetWithCheckboxes, DeleteMixin, DatasourceFilter,
get_datasource_exist_error_mgs,
DatasourceFilter, DeleteMixin, get_datasource_exist_error_mgs,
ListWidgetWithCheckboxes, SupersetModelView,
)
from . import models

View File

@ -4,22 +4,21 @@ from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
import datetime
import gzip
import json
import os
import textwrap
import datetime
import random
import textwrap
import pandas as pd
from sqlalchemy import String, DateTime, Date, Float, BigInteger
from sqlalchemy import BigInteger, Date, DateTime, Float, String
from superset import app, db, utils
from superset.connectors.connector_registry import ConnectorRegistry
from superset.models import core as models
from superset.security import get_or_create_main_db
from superset.connectors.connector_registry import ConnectorRegistry
# Shortcuts
DB = models.Database
Slice = models.Slice

View File

@ -10,13 +10,12 @@ from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
from datetime import datetime, date
from past.builtins import basestring
import pandas as pd
from pandas.core.dtypes.dtypes import ExtensionDtype
from datetime import date, datetime
import numpy as np
import pandas as pd
from pandas.core.dtypes.dtypes import ExtensionDtype
from past.builtins import basestring
INFER_COL_TYPES_THRESHOLD = 95

View File

@ -16,24 +16,21 @@ from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
from collections import namedtuple, defaultdict
from collections import defaultdict, namedtuple
import inspect
import logging
import re
import textwrap
import time
import sqlparse
from sqlalchemy import select
from sqlalchemy.sql import text
from flask_babel import lazy_gettext as _
from sqlalchemy import select
from sqlalchemy.engine.url import make_url
from sqlalchemy.sql import text
import sqlparse
from superset.utils import SupersetTemplateException
from superset.utils import QueryStatus
from superset import conf, cache_util, utils
from superset import cache_util, conf, utils
from superset.utils import QueryStatus, SupersetTemplateException
tracking_url_trans = conf.get('TRACKING_URL_TRANSFORMER')

View File

@ -13,8 +13,8 @@
# http://groups.google.com/group/sqlparse/browse_thread/thread/b0bd9a022e9d4895
import sqlparse
from sqlparse.sql import IdentifierList, Identifier
from sqlparse.tokens import Keyword, DML
from sqlparse.sql import Identifier, IdentifierList
from sqlparse.tokens import DML, Keyword
def is_subselect(parsed):

View File

@ -1,4 +1,5 @@
import logging
from sqlalchemy.orm.session import make_transient

View File

@ -10,10 +10,9 @@ import random
import time
import uuid
from jinja2.sandbox import SandboxedEnvironment
from flask import request, g
from dateutil.relativedelta import relativedelta
from flask import g, request
from jinja2.sandbox import SandboxedEnvironment
from superset import app

View File

@ -5,6 +5,7 @@ from __future__ import print_function
from __future__ import unicode_literals
import re
from superset import frontend_config
FORM_DATA_KEY_WHITELIST = list(frontend_config.get('controls').keys()) + ['slice_id']

View File

@ -4,12 +4,11 @@ from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
from flask_appbuilder import Model
from sqlalchemy import (
Column, Integer, String, ForeignKey, Text,
DateTime, Index,
Column, DateTime, ForeignKey, Index, Integer, String, Text,
)
from sqlalchemy.orm import relationship
from flask_appbuilder import Model
from superset.models.helpers import AuditMixinNullable

View File

@ -4,43 +4,38 @@ from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
from copy import copy, deepcopy
from datetime import date, datetime
import functools
import json
import logging
import numpy
import pickle
import textwrap
from future.standard_library import install_aliases
from copy import copy
from datetime import datetime, date
from copy import deepcopy
import pandas as pd
import sqlalchemy as sqla
from sqlalchemy.engine.url import make_url
from sqlalchemy.orm import subqueryload
from flask import escape, g, Markup, request
from flask_appbuilder import Model
from flask_appbuilder.models.decorators import renders
from future.standard_library import install_aliases
import numpy
import pandas as pd
import sqlalchemy as sqla
from sqlalchemy import (
Column, Integer, String, ForeignKey, Text, Boolean,
DateTime, Date, Table,
create_engine, MetaData, select
Boolean, Column, create_engine, Date, DateTime, ForeignKey, Integer,
MetaData, select, String, Table, Text,
)
from sqlalchemy.orm import relationship
from sqlalchemy.engine import url
from sqlalchemy.engine.url import make_url
from sqlalchemy.orm import relationship, subqueryload
from sqlalchemy.orm.session import make_transient
from sqlalchemy.pool import NullPool
from sqlalchemy.sql import text
from sqlalchemy.sql.expression import TextAsFrom
from sqlalchemy.engine import url
from sqlalchemy_utils import EncryptedType
from superset import app, db, db_engine_specs, utils, sm
from superset import app, db, db_engine_specs, sm, utils
from superset.connectors.connector_registry import ConnectorRegistry
from superset.viz import viz_types
from superset.models.helpers import AuditMixinNullable, ImportMixin, set_perm
from superset.viz import viz_types
install_aliases()
from urllib import parse # noqa
@ -648,7 +643,7 @@ class Database(Model, AuditMixinNullable):
effective_username))
if configuration:
params["connect_args"] = {"configuration": configuration}
return create_engine(url, **params)
def get_reserved_words(self):

View File

@ -5,18 +5,18 @@ from __future__ import print_function
from __future__ import unicode_literals
from datetime import datetime
import humanize
import json
import re
import sqlalchemy as sa
from sqlalchemy.ext.declarative import declared_attr
from flask import escape, Markup
from flask_appbuilder.models.mixins import AuditMixin
from flask_appbuilder.models.decorators import renders
from superset.utils import QueryStatus
from flask_appbuilder.models.mixins import AuditMixin
import humanize
import sqlalchemy as sa
from sqlalchemy.ext.declarative import declared_attr
from superset import sm
from superset.utils import QueryStatus
class ImportMixin(object):

View File

@ -4,24 +4,21 @@ from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
import re
from datetime import datetime
from future.standard_library import install_aliases
import re
from flask import Markup
from flask_appbuilder import Model
from future.standard_library import install_aliases
import sqlalchemy as sqla
from sqlalchemy import (
Column, Integer, String, ForeignKey, Text, Boolean,
DateTime, Numeric, )
Boolean, Column, DateTime, ForeignKey, Integer, Numeric, String, Text,
)
from sqlalchemy.orm import backref, relationship
from superset import sm
from superset.utils import QueryStatus
from superset.models.helpers import AuditMixinNullable
from superset.utils import QueryStatus
install_aliases()
@ -81,7 +78,7 @@ class Query(Model):
user = relationship(sm.user_model, foreign_keys=[user_id])
__table_args__ = (
sqla.Index('ti_user_id_changed_on', user_id, changed_on),
sqla.Index('ti_user_id_changed_on', user_id, changed_on),
)
@property

View File

@ -5,11 +5,12 @@ from __future__ import print_function
from __future__ import unicode_literals
import logging
from flask_appbuilder.security.sqla import models as ab_models
from superset import conf, db, sm
from superset.models import core as models
from superset.connectors.connector_registry import ConnectorRegistry
from superset.models import core as models
READ_ONLY_MODEL_VIEWS = {
'DatabaseAsync',

View File

@ -3,24 +3,24 @@ from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
from time import sleep
from datetime import datetime
import json
import logging
from time import sleep
import uuid
from celery.exceptions import SoftTimeLimitExceeded
import pandas as pd
import sqlalchemy
from sqlalchemy.pool import NullPool
from sqlalchemy.orm import sessionmaker
from celery.exceptions import SoftTimeLimitExceeded
from sqlalchemy.pool import NullPool
from superset import (app, db, utils, dataframe, results_backend)
from superset.models.sql_lab import Query
from superset.sql_parse import SupersetQuery
from superset import app, dataframe, db, results_backend, utils
from superset.db_engine_specs import LimitMethod
from superset.jinja_context import get_template_processor
from superset.utils import QueryStatus, get_celery_app
from superset.models.sql_lab import Query
from superset.sql_parse import SupersetQuery
from superset.utils import get_celery_app, QueryStatus
config = app.config
celery_app = get_celery_app(config)

View File

@ -6,7 +6,7 @@ from __future__ import unicode_literals
import logging
import sqlparse
from sqlparse.sql import IdentifierList, Identifier
from sqlparse.sql import Identifier, IdentifierList
from sqlparse.tokens import Keyword, Name
RESULT_OPERATIONS = {'UNION', 'INTERSECT', 'EXCEPT'}

View File

@ -1,4 +1,5 @@
import logging
from colorama import Fore, Style

View File

@ -4,45 +4,43 @@ from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
from builtins import object
from datetime import date, datetime, time, timedelta
import decimal
from email.mime.application import MIMEApplication
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.utils import formatdate
import functools
import json
import logging
import os
import signal
import parsedatetime
import smtplib
import pytz
import sqlalchemy as sa
import uuid
import sys
import uuid
import zlib
import numpy
from builtins import object
from datetime import date, datetime, time, timedelta
import celery
from dateutil.parser import parse
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
from email.utils import formatdate
from flask import flash, Markup, render_template, url_for, redirect, request
from flask_appbuilder.const import (
LOGMSG_ERR_SEC_ACCESS_DENIED,
FLAMSG_ERR_SEC_ACCESS_DENIED,
PERMISSION_PREFIX
)
from flask import flash, Markup, redirect, render_template, request, url_for
from flask_appbuilder._compat import as_unicode
from flask_appbuilder.const import (
FLAMSG_ERR_SEC_ACCESS_DENIED,
LOGMSG_ERR_SEC_ACCESS_DENIED,
PERMISSION_PREFIX,
)
from flask_babel import gettext as __
from flask_cache import Cache
import markdown as md
import numpy
import parsedatetime
from past.builtins import basestring
from pydruid.utils.having import Having
import pytz
import sqlalchemy as sa
from sqlalchemy import event, exc, select
from sqlalchemy.types import TypeDecorator, TEXT
from sqlalchemy.types import TEXT, TypeDecorator
logging.getLogger('MARKDOWN').setLevel(logging.INFO)

View File

@ -3,12 +3,12 @@ from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
from flask_babel import gettext as __
from flask_appbuilder.models.sqla.interface import SQLAInterface
from flask_babel import gettext as __
from superset.models.annotations import Annotation, AnnotationLayer
from superset import appbuilder
from .base import SupersetModelView, DeleteMixin
from superset.models.annotations import Annotation, AnnotationLayer
from .base import DeleteMixin, SupersetModelView
class AnnotationModelView(SupersetModelView, DeleteMixin): # noqa

View File

@ -3,18 +3,16 @@ import json
import logging
import traceback
from flask import g, redirect, Response, flash, abort, get_flashed_messages
from flask_babel import gettext as __
from flask_babel import lazy_gettext as _
from flask_babel import get_locale
from flask_appbuilder import BaseView
from flask_appbuilder import ModelView
from flask_appbuilder.widgets import ListWidget
from flask import abort, flash, g, get_flashed_messages, redirect, Response
from flask_appbuilder import BaseView, ModelView
from flask_appbuilder.actions import action
from flask_appbuilder.models.sqla.filters import BaseFilter
from flask_appbuilder.widgets import ListWidget
from flask_babel import get_locale
from flask_babel import gettext as __
from flask_babel import lazy_gettext as _
from superset import appbuilder, conf, db, utils, sm, sql_parse
from superset import appbuilder, conf, db, sm, sql_parse, utils
from superset.connectors.connector_registry import ConnectorRegistry
from superset.connectors.sqla.models import SqlaTable
from superset.translations.utils import get_language_pack

View File

@ -7,46 +7,42 @@ from collections import defaultdict
from datetime import datetime, timedelta
import json
import logging
import pandas as pd
import pickle
import re
import time
import traceback
from urllib import parse
import sqlalchemy as sqla
from flask import (
g, request, redirect, flash, Response, render_template, Markup,
url_for)
flash, g, Markup, redirect, render_template, request, Response, url_for,
)
from flask_appbuilder import expose
from flask_appbuilder.actions import action
from flask_appbuilder.models.sqla.interface import SQLAInterface
from flask_appbuilder.security.decorators import has_access_api
from flask_appbuilder.security.sqla import models as ab_models
from flask_babel import gettext as __
from flask_babel import lazy_gettext as _
import pandas as pd
import sqlalchemy as sqla
from sqlalchemy import create_engine
from sqlalchemy.engine.url import make_url
from werkzeug.routing import BaseConverter
from superset import (
appbuilder, cache, db, viz, utils, app,
sm, sql_lab, results_backend, security,
app, appbuilder, cache, db, results_backend, security, sm, sql_lab, utils,
viz,
)
from superset.legacy import cast_form_data
from superset.utils import has_access, QueryStatus, merge_extra_filters
from superset.connectors.connector_registry import ConnectorRegistry
from superset.legacy import cast_form_data
import superset.models.core as models
from superset.models.sql_lab import Query
from superset.sql_parse import SupersetQuery
from superset.utils import has_access, merge_extra_filters, QueryStatus
from .base import (
api, SupersetModelView, BaseSupersetView, DeleteMixin,
SupersetFilter, get_user_roles, json_error_response, get_error_msg,
CsvResponse)
api, BaseSupersetView, CsvResponse, DeleteMixin, get_error_msg,
get_user_roles, json_error_response, SupersetFilter, SupersetModelView,
)
config = app.config
stats_logger = config.get('STATS_LOGGER')
@ -1452,7 +1448,7 @@ class Superset(BaseSupersetView):
url = make_url(uri)
db_engine = models.Database.get_db_engine_spec_for_backend(url.get_backend_name())
db_engine.patch()
masked_url = database.get_password_masked_url_from_uri(uri)
logging.info("Superset.testconn(). Masked URL: {0}".format(masked_url))

View File

@ -1,14 +1,12 @@
from flask import redirect, g
from flask import g, redirect
from flask_appbuilder import expose
from flask_appbuilder.models.sqla.interface import SQLAInterface
from flask_babel import gettext as __
from flask_babel import lazy_gettext as _
from superset import appbuilder
from superset.models.sql_lab import Query, SavedQuery
from .base import SupersetModelView, BaseSupersetView, DeleteMixin
from .base import BaseSupersetView, DeleteMixin, SupersetModelView
class QueryView(SupersetModelView):

View File

@ -8,29 +8,28 @@ from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
from collections import defaultdict
import copy
from datetime import datetime, timedelta
import hashlib
import inspect
from itertools import product
import logging
import traceback
import uuid
import zlib
from collections import defaultdict
from itertools import product
from datetime import datetime, timedelta
import pandas as pd
import numpy as np
from dateutil import relativedelta as rdelta
from flask import request
from flask_babel import lazy_gettext as _
from markdown import markdown
import numpy as np
import pandas as pd
import simplejson as json
from six import string_types, PY3
from six import PY3, string_types
from six.moves import reduce
from dateutil import relativedelta as rdelta
from superset import app, utils, cache, get_manifest_file
from superset import app, cache, get_manifest_file, utils
from superset.utils import DTTM_ALIAS, merge_extra_filters
config = app.config

View File

@ -5,16 +5,15 @@ from __future__ import print_function
from __future__ import unicode_literals
import json
import mock
import unittest
from superset import db, sm, security
import mock
from superset.models import core as models
from superset import db, security, sm
from superset.connectors.connector_registry import ConnectorRegistry
from superset.connectors.sqla.models import SqlaTable
from superset.connectors.druid.models import DruidDatasource
from superset.connectors.sqla.models import SqlaTable
from superset.models import core as models
from .base_tests import SupersetTestCase
ROLE_TABLES_PERM_DATA = {

View File

@ -4,18 +4,18 @@ from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
import logging
import json
import logging
import os
import unittest
from flask_appbuilder.security.sqla import models as ab_models
from superset import app, cli, db, appbuilder, security, sm
from superset import app, appbuilder, cli, db, security, sm
from superset.connectors.druid.models import DruidCluster, DruidDatasource
from superset.connectors.sqla.models import SqlaTable
from superset.models import core as models
from superset.security import sync_role_definitions
from superset.connectors.sqla.models import SqlaTable
from superset.connectors.druid.models import DruidCluster, DruidDatasource
os.environ['SUPERSET_CONFIG'] = 'tests.superset_test_config'

View File

@ -9,19 +9,19 @@ import os
import subprocess
import time
import unittest
from past.builtins import basestring
import pandas as pd
from past.builtins import basestring
from superset import app, appbuilder, cli, db, dataframe
from superset import app, appbuilder, cli, dataframe, db
from superset.models import core as models
from superset.models.helpers import QueryStatus
from superset.models.sql_lab import Query
from superset.security import sync_role_definitions
from superset.sql_parse import SupersetQuery
from .base_tests import SupersetTestCase
BASE_DIR = app.config.get('BASE_DIR')

View File

@ -6,21 +6,20 @@ from __future__ import unicode_literals
import csv
import doctest
import io
import json
import logging
import io
import random
import unittest
from flask import escape
import sqlalchemy as sqla
from superset import db, utils, appbuilder, sm, jinja_context, sql_lab
from superset import appbuilder, db, jinja_context, sm, sql_lab, utils
from superset.connectors.sqla.models import SqlaTable
from superset.models import core as models
from superset.models.sql_lab import Query
from superset.views.core import DatabaseView
from superset.connectors.sqla.models import SqlaTable
from .base_tests import SupersetTestCase

View File

@ -10,12 +10,11 @@ import unittest
from mock import Mock, patch
from superset import db, sm, security
from superset import db, security, sm
from superset.connectors.druid.models import (
DruidMetric, DruidCluster, DruidDatasource
DruidCluster, DruidDatasource, DruidMetric, Postaggregator, PyDruid,
Quantile,
)
from superset.connectors.druid.models import PyDruid, Quantile, Postaggregator
from .base_tests import SupersetTestCase
class PickableMock(Mock):

View File

@ -4,15 +4,15 @@ from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
from email.mime.application import MIMEApplication
from email.mime.multipart import MIMEMultipart
import logging
import mock
import tempfile
import unittest
from superset import utils, app
import mock
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
from superset import app, utils
send_email_test = mock.Mock()
@ -118,4 +118,4 @@ class EmailSmtpTest(unittest.TestCase):
assert not mock_smtp_ssl.called
if __name__ == '__main__':
unittest.main()
unittest.main()

View File

@ -4,18 +4,18 @@ from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
from sqlalchemy.orm.session import make_transient
import json
import pickle
import unittest
from superset import db
from superset.models import core as models
from superset.connectors.druid.models import (
DruidDatasource, DruidColumn, DruidMetric)
from superset.connectors.sqla.models import SqlaTable, TableColumn, SqlMetric
from sqlalchemy.orm.session import make_transient
from superset import db
from superset.connectors.druid.models import (
DruidColumn, DruidDatasource, DruidMetric,
)
from superset.connectors.sqla.models import SqlaTable, SqlMetric, TableColumn
from superset.models import core as models
from .base_tests import SupersetTestCase

View File

@ -1,5 +1,4 @@
from superset import security, sm
from .base_tests import SupersetTestCase

View File

@ -9,9 +9,9 @@ import json
import unittest
from flask_appbuilder.security.sqla import models as ab_models
from superset import db, utils, appbuilder, sm
from superset.models.sql_lab import Query
from superset import appbuilder, db, sm, utils
from superset.models.sql_lab import Query
from .base_tests import SupersetTestCase

View File

@ -1,24 +1,16 @@
from datetime import datetime, date, timedelta, time
from datetime import date, datetime, time, timedelta
from decimal import Decimal
from superset.utils import (
json_int_dttm_ser,
json_iso_dttm_ser,
base_json_conv,
parse_human_timedelta,
zlib_compress,
zlib_decompress_to_string,
merge_extra_filters,
datetime_f,
JSONEncodedDict,
validate_json,
SupersetException,
)
import unittest
import uuid
from mock import patch
import numpy
from superset.utils import (
base_json_conv, datetime_f, json_int_dttm_ser, json_iso_dttm_ser,
JSONEncodedDict, merge_extra_filters, parse_human_timedelta,
SupersetException, validate_json, zlib_compress, zlib_decompress_to_string,
)
class UtilsTestCase(unittest.TestCase):
def test_json_int_dttm_ser(self):

View File

@ -1,11 +1,12 @@
import unittest
import pandas as pd
import superset.viz as viz
import superset.utils as utils
from superset.utils import DTTM_ALIAS
from mock import Mock, patch
from datetime import datetime, timedelta
import unittest
from mock import Mock, patch
import pandas as pd
import superset.utils as utils
from superset.utils import DTTM_ALIAS
import superset.viz as viz
class BaseVizTestCase(unittest.TestCase):
def test_constructor_exception_no_datasource(self):

View File

@ -45,10 +45,6 @@ ignore =
F401
F403
F405
I100
I101
I201
I202
Q000
Q001
W291