1 VERSION = (0, 1, 0, "final", 0) |
1 VERSION = (0, 1, 0, "final", 0) |
2 |
2 |
3 |
3 |
4 def get_version(): |
4 def get_version(version=VERSION): |
5 version = '%s.%s' % (VERSION[0], VERSION[1]) |
5 "Returns a PEP 386-compliant version number from VERSION." |
6 if VERSION[2]: |
6 assert len(version) == 5 |
7 version = '%s.%s' % (version, VERSION[2]) |
7 assert version[3] in ('alpha', 'beta', 'rc', 'final') |
8 if VERSION[3:] == ('alpha', 0): |
8 |
9 version = '%s alpha' % version |
9 # Now build the two parts of the version number: |
10 else: |
10 # main = X.Y[.Z] |
11 if VERSION[3] != 'final': |
11 # sub = .devN - for pre-alpha releases |
12 version = '%s %s %s' % (version, VERSION[3], VERSION[4]) |
12 # | {a|b|c}N - for alpha, beta and rc releases |
13 return version |
13 |
|
14 parts = 2 if version[2] == 0 else 3 |
|
15 main = '.'.join(str(x) for x in version[:parts]) |
|
16 |
|
17 sub = '' |
|
18 if version[3] != 'final': |
|
19 mapping = {'alpha': 'a', 'beta': 'b', 'rc': 'c'} |
|
20 sub = mapping[version[3]] + str(version[4]) |
|
21 |
|
22 return str(main + sub) |
14 |
23 |
15 __version__ = get_version() |
24 __version__ = get_version() |