1cef7893435aa41160dd1255c43cb8498279738ccChris Craik# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
2cef7893435aa41160dd1255c43cb8498279738ccChris Craik# For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt
3cef7893435aa41160dd1255c43cb8498279738ccChris Craik
4cef7893435aa41160dd1255c43cb8498279738ccChris Craik"""The version and URL for coverage.py"""
5cef7893435aa41160dd1255c43cb8498279738ccChris Craik# This file is exec'ed in setup.py, don't import anything!
6cef7893435aa41160dd1255c43cb8498279738ccChris Craik
7cef7893435aa41160dd1255c43cb8498279738ccChris Craik# Same semantics as sys.version_info.
8cef7893435aa41160dd1255c43cb8498279738ccChris Craikversion_info = (4, 0, 3, 'final', 0)
9cef7893435aa41160dd1255c43cb8498279738ccChris Craik
10cef7893435aa41160dd1255c43cb8498279738ccChris Craik
11cef7893435aa41160dd1255c43cb8498279738ccChris Craikdef _make_version(major, minor, micro, releaselevel, serial):
12cef7893435aa41160dd1255c43cb8498279738ccChris Craik    """Create a readable version string from version_info tuple components."""
13cef7893435aa41160dd1255c43cb8498279738ccChris Craik    assert releaselevel in ['alpha', 'beta', 'candidate', 'final']
14cef7893435aa41160dd1255c43cb8498279738ccChris Craik    version = "%d.%d" % (major, minor)
15cef7893435aa41160dd1255c43cb8498279738ccChris Craik    if micro:
16cef7893435aa41160dd1255c43cb8498279738ccChris Craik        version += ".%d" % (micro,)
17cef7893435aa41160dd1255c43cb8498279738ccChris Craik    if releaselevel != 'final':
18cef7893435aa41160dd1255c43cb8498279738ccChris Craik        short = {'alpha': 'a', 'beta': 'b', 'candidate': 'rc'}[releaselevel]
19cef7893435aa41160dd1255c43cb8498279738ccChris Craik        version += "%s%d" % (short, serial)
20cef7893435aa41160dd1255c43cb8498279738ccChris Craik    return version
21cef7893435aa41160dd1255c43cb8498279738ccChris Craik
22cef7893435aa41160dd1255c43cb8498279738ccChris Craik
23cef7893435aa41160dd1255c43cb8498279738ccChris Craikdef _make_url(major, minor, micro, releaselevel, serial):
24cef7893435aa41160dd1255c43cb8498279738ccChris Craik    """Make the URL people should start at for this version of coverage.py."""
25cef7893435aa41160dd1255c43cb8498279738ccChris Craik    url = "https://coverage.readthedocs.org"
26cef7893435aa41160dd1255c43cb8498279738ccChris Craik    if releaselevel != 'final':
27cef7893435aa41160dd1255c43cb8498279738ccChris Craik        # For pre-releases, use a version-specific URL.
28cef7893435aa41160dd1255c43cb8498279738ccChris Craik        url += "/en/coverage-" + _make_version(major, minor, micro, releaselevel, serial)
29cef7893435aa41160dd1255c43cb8498279738ccChris Craik    return url
30cef7893435aa41160dd1255c43cb8498279738ccChris Craik
31cef7893435aa41160dd1255c43cb8498279738ccChris Craik
32cef7893435aa41160dd1255c43cb8498279738ccChris Craik__version__ = _make_version(*version_info)
33cef7893435aa41160dd1255c43cb8498279738ccChris Craik__url__ = _make_url(*version_info)
34