diff --git a/gallery_dl/__init__.py b/gallery_dl/__init__.py index 5593b0e4..41229140 100644 --- a/gallery_dl/__init__.py +++ b/gallery_dl/__init__.py @@ -43,9 +43,14 @@ def main(): if args.configs_json: config.load(args.configs_json, strict=True) if args.configs_yaml: - config.load(args.configs_yaml, strict=True, fmt="yaml") + import yaml + config.load(args.configs_yaml, strict=True, load=yaml.safe_load) if args.configs_toml: - config.load(args.configs_toml, strict=True, fmt="toml") + try: + import tomllib as toml + except ImportError: + import toml + config.load(args.configs_toml, strict=True, load=toml.loads) if args.filename: filename = args.filename if filename == "/O": diff --git a/gallery_dl/config.py b/gallery_dl/config.py index c4c261e0..f9f3147d 100644 --- a/gallery_dl/config.py +++ b/gallery_dl/config.py @@ -49,29 +49,8 @@ if getattr(sys, "frozen", False): # -------------------------------------------------------------------- # public interface -def load(files=None, strict=False, fmt="json"): +def load(files=None, strict=False, load=util.json_loads): """Load JSON configuration files""" - if fmt == "yaml": - try: - import yaml - load = yaml.safe_load - except ImportError: - log.error("Could not import 'yaml' module") - return - elif fmt == "toml": - try: - import tomllib - load = tomllib.loads - except ImportError: - try: - import toml - load = toml.loads - except ImportError: - log.error("Could not import 'toml' module") - return - else: - load = util.json_loads - for pathfmt in files or _default_configs: path = util.expand_path(pathfmt) try: