diff sat/tools/utils.py @ 2576:cb7bf936d8e8

setup, tools(utils): fixed versioning in setup and getRepositoryData
author Goffi <goffi@goffi.org>
date Fri, 06 Apr 2018 16:47:40 +0200
parents 18e2ca5f798e
children 3e4e78de9cca
line wrap: on
line diff
--- a/sat/tools/utils.py	Fri Apr 06 15:41:26 2018 +0200
+++ b/sat/tools/utils.py	Fri Apr 06 16:47:40 2018 +0200
@@ -204,18 +204,23 @@
         try:
             import pkg_resources
             pkg_version = pkg_resources.get_distribution(C.APP_NAME_FILE).version
-            version, hg_node, hg_distance = pkg_version.split('-')
+            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.warning(u"package version doesn't fit: {pkg_version}".format(pkg_version=pkg_version))
+            log.info(u"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.error("Incompatible version ({version}) and pkg_version ({pkg_version})".format(
+                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