summaryrefslogtreecommitdiff
path: root/src/leap/util/__init__.py
diff options
context:
space:
mode:
authorIvan Alejandro <ivanalejandro0@gmail.com>2013-07-23 13:35:01 -0300
committerIvan Alejandro <ivanalejandro0@gmail.com>2013-07-23 13:40:37 -0300
commitf8e48af9c9020d9f87a03cf10bdf9b4f60e632a1 (patch)
treec6932683a637a1aeb28740473dc7dc37972c6f05 /src/leap/util/__init__.py
parente5b50a129f6cb276fd20d9969cb7d300265f40e1 (diff)
Add IS_RELEASE_VERSION boolean.
Allows us to check if we are in a final release version or a development one. Also added tests for the new functionality.
Diffstat (limited to 'src/leap/util/__init__.py')
-rw-r--r--src/leap/util/__init__.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/leap/util/__init__.py b/src/leap/util/__init__.py
index 93eb714d..f39b52e9 100644
--- a/src/leap/util/__init__.py
+++ b/src/leap/util/__init__.py
@@ -20,10 +20,38 @@ Initializes version and app info, plus some small and handy functions.
import datetime
import os
+from pkg_resources import parse_version
+
+
+def _is_release_version(version):
+ """
+ Helper to determine whether a version is a final release or not.
+ The release needs to be of the form: w.x.y.z containing only numbers
+ and dots.
+
+ :param version: the version string
+ :type version: str
+ :returns: if the version is a release version or not.
+ :rtype: bool
+ """
+ parsed_version = parse_version(version)
+ not_number = 0
+ for x in parsed_version:
+ try:
+ int(x)
+ except:
+ not_number += 1
+
+ return not_number == 1
+
+
__version__ = "unknown"
+IS_RELEASE_VERSION = False
+
try:
from leap._version import get_versions
__version__ = get_versions()['version']
+ IS_RELEASE_VERSION = _is_release_version(__version__)
del get_versions
except ImportError:
#running on a tree that has not run