summaryrefslogtreecommitdiff
path: root/coverage/version.py
diff options
context:
space:
mode:
Diffstat (limited to 'coverage/version.py')
-rw-r--r--coverage/version.py34
1 files changed, 29 insertions, 5 deletions
diff --git a/coverage/version.py b/coverage/version.py
index 51e1310f..dc4c57c9 100644
--- a/coverage/version.py
+++ b/coverage/version.py
@@ -1,9 +1,33 @@
+# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
+# For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt
+
"""The version and URL for coverage.py"""
# This file is exec'ed in setup.py, don't import anything!
-__version__ = "4.0a6" # see detailed history in CHANGES.txt
+# Same semantics as sys.version_info.
+version_info = (4, 1, 0, 'alpha', 0)
+
+
+def _make_version(major, minor, micro, releaselevel, serial):
+ """Create a readable version string from version_info tuple components."""
+ assert releaselevel in ['alpha', 'beta', 'candidate', 'final']
+ version = "%d.%d" % (major, minor)
+ if micro:
+ version += ".%d" % (micro,)
+ if releaselevel != 'final':
+ short = {'alpha': 'a', 'beta': 'b', 'candidate': 'rc'}[releaselevel]
+ version += "%s%d" % (short, serial)
+ return version
+
+
+def _make_url(major, minor, micro, releaselevel, serial):
+ """Make the URL people should start at for this version of coverage.py."""
+ url = "https://coverage.readthedocs.org"
+ if releaselevel != 'final':
+ # For pre-releases, use a version-specific URL.
+ url += "/en/coverage-" + _make_version(major, minor, micro, releaselevel, serial)
+ return url
+
-__url__ = "https://coverage.readthedocs.org"
-if max(__version__).isalpha():
- # For pre-releases, use a version-specific URL.
- __url__ += "/en/" + __version__
+__version__ = _make_version(*version_info)
+__url__ = _make_url(*version_info)