diff options
Diffstat (limited to 'coverage/version.py')
-rw-r--r-- | coverage/version.py | 43 |
1 files changed, 25 insertions, 18 deletions
diff --git a/coverage/version.py b/coverage/version.py index 523405d6..1b60626a 100644 --- a/coverage/version.py +++ b/coverage/version.py @@ -4,21 +4,28 @@ """The version and URL for coverage.py""" # This file is exec'ed in setup.py, don't import anything! -_maj = 4 -_min = 0 -_mic = 0 -_rel = 0xb -_ser = 2 - -hexversion = (_maj << 24) + (_min << 16) + (_mic << 8) + (_rel << 4) + _ser - -__version__ = "%d.%d" % (_maj, _min) -if _mic: - __version__ += ".%d" % (_mic,) -if _rel != 0xf: - __version__ += "%x%d" % (_rel, _ser) - -__url__ = "https://coverage.readthedocs.org" -if _rel != 0xf: - # For pre-releases, use a version-specific URL. - __url__ += "/en/coverage-" + __version__ +# Same semantics as sys.version_info. +version_info = (4, 0, 0, 'beta', 2) + + +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': + version += "%s%d" % (releaselevel[0], serial) + return version + + +def _make_url(major, minor, micro, releaselevel, serial): + 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 + + +__version__ = _make_version(*version_info) +__url__ = _make_url(*version_info) |