From cd3ef1850de1e8759a0eaff3c5181602c86206d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A1bio=20Santos?= Date: Thu, 16 Jan 2020 14:44:09 +0000 Subject: [PATCH] simplify control flow --- dvc/dependency/repo.py | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/dvc/dependency/repo.py b/dvc/dependency/repo.py index be57e0aba..aed3369a7 100644 --- a/dvc/dependency/repo.py +++ b/dvc/dependency/repo.py @@ -54,20 +54,19 @@ class DependencyREPO(DependencyLOCAL): try: with self._make_repo(rev_lock=rev_lock) as repo: - try: - return repo.find_out_by_relpath(self.def_path).info["md5"] - except OutputNotFoundError: - # Fall through to after exception handler - path = os.path.join(repo.root_dir, self.def_path) + return repo.find_out_by_relpath(self.def_path).info["md5"] - except NotDvcRepoError: - repo_path = cached_clone( - self.def_repo[self.PARAM_URL], - rev=rev_lock or self.def_repo.get(self.PARAM_REV), - ) - path = os.path.join(repo_path, self.def_path) + except (NotDvcRepoError, OutputNotFoundError): + # Fall through and clone + pass - return self.repo.cache.local.get_checksum(PathInfo(path)) + repo_path = cached_clone( + self.def_repo[self.PARAM_URL], + rev=rev_lock or self.def_repo.get(self.PARAM_REV), + ) + path = PathInfo(os.path.join(repo_path, self.def_path)) + + return self.repo.cache.local.get_checksum(path) def status(self): current_checksum = self._get_checksum(updated=False)