# HG changeset patch # User ymh # Date 1380551102 -7200 # Node ID 4b4dd6817db3800f5fcfaa70ebdc7c0c7b6b7c5c # Parent 919bc11b5320bd2b029a6df150de5f1f55bd4b20 slightly change version numbering diff -r 919bc11b5320 -r 4b4dd6817db3 src/p4l/__init__.py --- a/src/p4l/__init__.py Mon Sep 30 15:47:14 2013 +0200 +++ b/src/p4l/__init__.py Mon Sep 30 16:25:02 2013 +0200 @@ -1,15 +1,24 @@ VERSION = (0, 1, 0, "final", 0) -def get_version(): - version = '%s.%s' % (VERSION[0], VERSION[1]) - if VERSION[2]: - version = '%s.%s' % (version, VERSION[2]) - if VERSION[3:] == ('alpha', 0): - version = '%s alpha' % version - else: - if VERSION[3] != 'final': - version = '%s %s %s' % (version, VERSION[3], VERSION[4]) - return version +def get_version(version=VERSION): + "Returns a PEP 386-compliant version number from VERSION." + assert len(version) == 5 + assert version[3] in ('alpha', 'beta', 'rc', 'final') + + # Now build the two parts of the version number: + # main = X.Y[.Z] + # sub = .devN - for pre-alpha releases + # | {a|b|c}N - for alpha, beta and rc releases + + parts = 2 if version[2] == 0 else 3 + main = '.'.join(str(x) for x in version[:parts]) + + sub = '' + if version[3] != 'final': + mapping = {'alpha': 'a', 'beta': 'b', 'rc': 'c'} + sub = mapping[version[3]] + str(version[4]) + + return str(main + sub) __version__ = get_version()