|
1 # This Source Code Form is subject to the terms of the Mozilla Public |
|
2 # License, v. 2.0. If a copy of the MPL was not distributed with this |
|
3 # file, You can obtain one at http://mozilla.org/MPL/2.0/. |
|
4 |
|
5 # Prints the pre-release version suffix based on the version string |
|
6 # |
|
7 # Examples: |
|
8 # 2.1a3 > " 2.1 Alpha 3" |
|
9 # 2.1a3pre > "" |
|
10 # 3.2b4 > " 3.2 Beta 4" |
|
11 # 3.2b4pre > "" |
|
12 from __future__ import print_function |
|
13 |
|
14 import sys |
|
15 import re |
|
16 |
|
17 def get_prerelease_suffix(version): |
|
18 """ Returns the prerelease suffix from the version string argument """ |
|
19 |
|
20 def mfunc(m): |
|
21 return " {0} {1} {2}".format(m.group('prefix'), |
|
22 {'a': 'Alpha', 'b': 'Beta'}[m.group('c')], |
|
23 m.group('suffix')) |
|
24 result, c = re.subn(r'^(?P<prefix>(\d+\.)*\d+)(?P<c>[ab])(?P<suffix>\d+)$', |
|
25 mfunc, version) |
|
26 if c != 1: |
|
27 return '' |
|
28 return result |
|
29 |
|
30 if len(sys.argv) == 2: |
|
31 print(get_prerelease_suffix(sys.argv[1])) |