Spaces:
Running
Running
import importlib.util | |
from ..utils.tools import get_class | |
from .base_dataset import BaseDataset | |
def get_dataset(name): | |
import_paths = [name, f"{__name__}.{name}"] | |
for path in import_paths: | |
try: | |
spec = importlib.util.find_spec(path) | |
except ModuleNotFoundError: | |
spec = None | |
if spec is not None: | |
try: | |
return get_class(path, BaseDataset) | |
except AssertionError: | |
mod = __import__(path, fromlist=[""]) | |
try: | |
return mod.__main_dataset__ | |
except AttributeError as exc: | |
print(exc) | |
continue | |
raise RuntimeError(f'Dataset {name} not found in any of [{" ".join(import_paths)}]') | |