From 6ebc7da1f14f3c65bacb4f7b6f1c072b8d189c80 Mon Sep 17 00:00:00 2001 From: Goffi Date: Mon, 16 Nov 2020 14:44:43 +0100 Subject: [PATCH] tools(utils): fixed error catching when getting repository data with `pkg_resources` --- sat/tools/utils.py | 44 +++++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/sat/tools/utils.py b/sat/tools/utils.py index fb662f55..f11de63c 100644 --- a/sat/tools/utils.py +++ b/sat/tools/utils.py @@ -248,33 +248,35 @@ def getRepositoryData(module, as_string=True, is_path=False): log.debug("Mercurial not available or working, trying package version") try: import pkg_resources - - pkg_version = pkg_resources.get_distribution(C.APP_NAME_FILE).version - version, local_id = pkg_version.split("+", 1) except ImportError: log.warning("pkg_resources not available, can't get package data") - except pkg_resources.DistributionNotFound: - log.warning("can't retrieve package data") - except ValueError: - log.info( - "no local version id in package: {pkg_version}".format( - pkg_version=pkg_version - ) - ) else: - version = version.replace(".dev0", "D") - if version != C.APP_VERSION: - log.warning( - "Incompatible version ({version}) and pkg_version ({pkg_version})".format( - version=C.APP_VERSION, pkg_version=pkg_version + try: + pkg_version = pkg_resources.get_distribution(C.APP_NAME_FILE).version + version, local_id = pkg_version.split("+", 1) + except pkg_resources.DistributionNotFound: + log.warning("can't retrieve package data") + except ValueError: + log.info( + "no local version id in package: {pkg_version}".format( + pkg_version=pkg_version ) ) else: - try: - hg_node, hg_distance = local_id.split(".") - except ValueError: - log.warning("Version doesn't specify repository data") - hg_data = {"node_short": hg_node, "distance": hg_distance} + version = version.replace(".dev0", "D") + if version != C.APP_VERSION: + log.warning( + "Incompatible version ({version}) and pkg_version ({pkg_version})" + .format( + version=C.APP_VERSION, pkg_version=pkg_version + ) + ) + else: + try: + hg_node, hg_distance = local_id.split(".") + except ValueError: + log.warning("Version doesn't specify repository data") + hg_data = {"node_short": hg_node, "distance": hg_distance} repos_cache_dict = hg_data