summaryrefslogtreecommitdiff
path: root/buildstream/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'buildstream/utils.py')
-rw-r--r--buildstream/utils.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/buildstream/utils.py b/buildstream/utils.py
index d02777897..f141cb15d 100644
--- a/buildstream/utils.py
+++ b/buildstream/utils.py
@@ -1207,3 +1207,30 @@ def _deduplicate(iterable, key=None):
if k not in seen:
seen_add(k)
yield element
+
+
+# _parse_version():
+#
+# Args:
+# version (str): The file name from which to determine compression
+#
+# Returns:
+# A 2-tuple of form (major_version: int, minor_version: int)
+#
+# Raises:
+# UtilError: In the case of a malformed version string
+#
+def _parse_version(version):
+
+ try:
+ versions = version.split(".")
+ except AttributeError as e:
+ raise UtilError("Malformed version string: {}".format(version),)
+
+ try:
+ major = int(versions[0])
+ minor = int(versions[1])
+ except (IndexError, ValueError):
+ raise UtilError("Malformed version string: {}".format(version),)
+
+ return major, minor