mirror of
https://github.com/apache/superset.git
synced 2026-04-25 02:55:07 +00:00
refactor: pkg_resources -> importlib.resources (#24578)
This commit is contained in:
@@ -16,11 +16,11 @@
|
||||
# under the License.
|
||||
import logging
|
||||
import re
|
||||
from importlib.resources import files
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
import yaml
|
||||
from pkg_resources import resource_isdir, resource_listdir, resource_stream
|
||||
|
||||
from superset.commands.exceptions import CommandInvalidError
|
||||
from superset.commands.importers.v1.examples import ImportExamplesCommand
|
||||
@@ -44,28 +44,30 @@ def load_examples_from_configs(
|
||||
|
||||
def load_contents(load_test_data: bool = False) -> dict[str, Any]:
|
||||
"""Traverse configs directory and load contents"""
|
||||
root = Path("examples/configs")
|
||||
resource_names = resource_listdir("superset", str(root))
|
||||
queue = [root / resource_name for resource_name in resource_names]
|
||||
root = files("superset") / "examples/configs"
|
||||
resource_names = (files("superset") / str(root)).iterdir()
|
||||
queue = [root / str(resource_name) for resource_name in resource_names]
|
||||
|
||||
contents: dict[Path, str] = {}
|
||||
while queue:
|
||||
path_name = queue.pop()
|
||||
test_re = re.compile(r"\.test\.|metadata\.yaml$")
|
||||
|
||||
if resource_isdir("superset", str(path_name)):
|
||||
if (files("superset") / str(path_name)).is_dir():
|
||||
queue.extend(
|
||||
path_name / child_name
|
||||
for child_name in resource_listdir("superset", str(path_name))
|
||||
path_name / str(child_name)
|
||||
for child_name in (files("superset") / str(path_name)).iterdir()
|
||||
)
|
||||
elif path_name.suffix.lower() in YAML_EXTENSIONS:
|
||||
elif Path(str(path_name)).suffix.lower() in YAML_EXTENSIONS:
|
||||
if load_test_data and test_re.search(str(path_name)) is None:
|
||||
continue
|
||||
contents[path_name] = (
|
||||
resource_stream("superset", str(path_name)).read().decode("utf-8")
|
||||
)
|
||||
contents[Path(str(path_name))] = (
|
||||
files("superset") / str(path_name)
|
||||
).read_text("utf-8")
|
||||
|
||||
return {str(path.relative_to(root)): content for path, content in contents.items()}
|
||||
return {
|
||||
str(path.relative_to(str(root))): content for path, content in contents.items()
|
||||
}
|
||||
|
||||
|
||||
def load_configs_from_directory(
|
||||
|
||||
Reference in New Issue
Block a user