summaryrefslogtreecommitdiffstats
path: root/openstack/common/version.py
diff options
context:
space:
mode:
Diffstat (limited to 'openstack/common/version.py')
-rw-r--r--openstack/common/version.py20
1 files changed, 17 insertions, 3 deletions
diff --git a/openstack/common/version.py b/openstack/common/version.py
index 8f7e1a9..3653ad0 100644
--- a/openstack/common/version.py
+++ b/openstack/common/version.py
@@ -29,6 +29,7 @@ class VersionInfo(object):
python-glanceclient
"""
self.package = package
+ self.release = None
self.version = None
self._cached_version = None
@@ -39,18 +40,31 @@ class VersionInfo(object):
provider = pkg_resources.get_provider(requirement)
return provider.version
- def version_string(self):
+ def release_string(self):
"""Return the full version of the package including suffixes indicating
VCS status.
"""
+ if self.release is None:
+ self.release = self._get_version_from_pkg_resources()
+
+ return self.release
+
+ def version_string(self):
+ """Return the short version minus any alpha/beta tags."""
if self.version is None:
- self.version = self._get_version_from_pkg_resources()
+ parts = []
+ for part in self.release_string().split('.'):
+ if part[0].isdigit():
+ parts.append(part)
+ else:
+ break
+ self.version = ".".join(parts)
return self.version
# Compatibility functions
canonical_version_string = version_string
- version_string_with_vcs = version_string
+ version_string_with_vcs = release_string
def cached_version_string(self, prefix=""):
"""Generate an object which will expand in a string context to