2012-05-21 15:12:37 +04:00
|
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
2009-03-19 21:56:40 +03:00
|
|
|
|
|
|
|
# Prints the pre-release version suffix based on the version string
|
|
|
|
#
|
|
|
|
# Examples:
|
|
|
|
# 2.1a3 > " 2.1 Alpha 3"
|
|
|
|
# 2.1a3pre > ""
|
|
|
|
# 3.2b4 > " 3.2 Beta 4"
|
|
|
|
# 3.2b4pre > ""
|
2019-07-08 20:30:34 +03:00
|
|
|
from __future__ import absolute_import
|
2013-02-27 21:00:56 +04:00
|
|
|
from __future__ import print_function
|
2009-03-19 21:56:40 +03:00
|
|
|
|
|
|
|
import sys
|
|
|
|
import re
|
|
|
|
|
2018-05-22 01:01:01 +03:00
|
|
|
|
2009-03-19 21:56:40 +03:00
|
|
|
def get_prerelease_suffix(version):
|
2018-05-22 01:01:01 +03:00
|
|
|
""" Returns the prerelease suffix from the version string argument """
|
|
|
|
|
|
|
|
def mfunc(m):
|
|
|
|
return " {0} {1} {2}".format(
|
|
|
|
m.group("prefix"),
|
|
|
|
{"a": "Alpha", "b": "Beta"}[m.group("c")],
|
|
|
|
m.group("suffix"),
|
|
|
|
)
|
2020-10-26 21:34:53 +03:00
|
|
|
|
2018-05-22 01:01:01 +03:00
|
|
|
result, c = re.subn(
|
|
|
|
r"^(?P<prefix>(\d+\.)*\d+)(?P<c>[ab])(?P<suffix>\d+)$", mfunc, version
|
|
|
|
)
|
|
|
|
if c != 1:
|
|
|
|
return ""
|
|
|
|
return result
|
2009-03-19 21:56:40 +03:00
|
|
|
|
|
|
|
|
|
|
|
if len(sys.argv) == 2:
|
2018-05-22 01:01:01 +03:00
|
|
|
print(get_prerelease_suffix(sys.argv[1]))
|