summaryrefslogtreecommitdiff
path: root/django/utils/version.py
diff options
context:
space:
mode:
authorchillaranand <anand21nanda@gmail.com>2017-02-15 21:44:21 +0530
committerTim Graham <timograham@gmail.com>2017-06-13 10:53:39 -0400
commit08bda82c237b9ad071538c2386b8bfc62fef7f7f (patch)
tree7dd489feef529e00a27ff8b6c085aedf2fbdd765 /django/utils/version.py
parente7dc39fb65e51d7613c941f7e5768b621dea4e76 (diff)
Fixed #27830 -- Used distutils.version.LooseVersion for version parsing.
Diffstat (limited to 'django/utils/version.py')
-rw-r--r--django/utils/version.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/django/utils/version.py b/django/utils/version.py
index 790a68c19c..4569abb608 100644
--- a/django/utils/version.py
+++ b/django/utils/version.py
@@ -2,6 +2,7 @@ import datetime
import functools
import os
import subprocess
+from distutils.version import LooseVersion
def get_version(version=None):
@@ -77,3 +78,17 @@ def get_git_changeset():
except ValueError:
return None
return timestamp.strftime('%Y%m%d%H%M%S')
+
+
+def get_version_tuple(version):
+ """
+ Return a tuple of version numbers (e.g. (1, 2, 3)) from the version
+ string (e.g. '1.2.3').
+ """
+ loose_version = LooseVersion(version)
+ version_numbers = []
+ for item in loose_version.version:
+ if not isinstance(item, int):
+ break
+ version_numbers.append(item)
+ return tuple(version_numbers)