fix(import-datasources): Use "admin" user as default for importing datasources (#27154)

This commit is contained in:
James O'Claire 2024-02-27 23:32:04 +08:00 committed by GitHub
parent 8b4dce71d6
commit 6447cd0e92
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 24 additions and 15 deletions

View File

@ -28,6 +28,7 @@ from flask.cli import with_appcontext
from superset import security_manager
from superset.extensions import db
from superset.utils.core import override_user
logger = logging.getLogger(__name__)
@ -170,12 +171,20 @@ def import_dashboards(path: str, username: Optional[str]) -> None:
"-p",
help="Path to a single ZIP file",
)
def import_datasources(path: str) -> None:
@click.option(
"--username",
"-u",
required=False,
default="admin",
help="Specify the user name to assign datasources to",
)
def import_datasources(path: str, username: Optional[str] = "admin") -> None:
"""Import datasources from ZIP file"""
# pylint: disable=import-outside-toplevel
from superset.commands.dataset.importers.dispatcher import ImportDatasetsCommand
from superset.commands.importers.v1.utils import get_contents_from_bundle
with override_user(user=security_manager.find_user(username=username)):
if is_zipfile(path):
with ZipFile(path) as bundle:
contents = get_contents_from_bundle(bundle)