diff options
Diffstat (limited to 'buildstream/utils.py')
-rw-r--r-- | buildstream/utils.py | 27 |
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 |