From 3081c604140ca37f470090a96aa75898f25d24cb Mon Sep 17 00:00:00 2001 From: Ruslan Kuprieiev Date: Thu, 17 Aug 2023 19:37:04 +0300 Subject: [PATCH] dep: repo: handle dict as config (#9853) --- dvc/dependency/repo.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/dvc/dependency/repo.py b/dvc/dependency/repo.py index dfe6a8b72d..9ac9eb53ca 100644 --- a/dvc/dependency/repo.py +++ b/dvc/dependency/repo.py @@ -24,12 +24,12 @@ class RepoDependency(Dependency): Required(PARAM_URL): str, PARAM_REV: str, PARAM_REV_LOCK: str, - PARAM_CONFIG: str, + PARAM_CONFIG: Any(str, dict), PARAM_REMOTE: Any(str, dict), } } - def __init__(self, def_repo: Dict[str, str], stage: "Stage", *args, **kwargs): + def __init__(self, def_repo: Dict[str, Any], stage: "Stage", *args, **kwargs): self.def_repo = def_repo super().__init__(stage, *args, **kwargs) @@ -107,17 +107,17 @@ def _make_fs( rem = self.def_repo.get("remote") if isinstance(rem, dict): - remote = None # type: ignore[unreachable] + remote = None remote_config = rem else: remote = rem remote_config = None - conf = self.def_repo.get("config") - if conf: - config = Config.load_file(conf) + conf = self.def_repo.get("config", {}) + if isinstance(conf, dict): + config = conf else: - config = {} + config = Config.load_file(conf) config["cache"] = self.repo.config["cache"] config["cache"]["dir"] = self.repo.cache.local_cache_dir