summaryrefslogtreecommitdiff
path: root/config/printprereleasesuffix.py
diff options
context:
space:
mode:
Diffstat (limited to 'config/printprereleasesuffix.py')
-rw-r--r--config/printprereleasesuffix.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/config/printprereleasesuffix.py b/config/printprereleasesuffix.py
new file mode 100644
index 0000000000..b7cddaf623
--- /dev/null
+++ b/config/printprereleasesuffix.py
@@ -0,0 +1,31 @@
+# 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/.
+
+# 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 > ""
+from __future__ import print_function
+
+import sys
+import re
+
+def get_prerelease_suffix(version):
+ """ 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'))
+ result, c = re.subn(r'^(?P<prefix>(\d+\.)*\d+)(?P<c>[ab])(?P<suffix>\d+)$',
+ mfunc, version)
+ if c != 1:
+ return ''
+ return result
+
+if len(sys.argv) == 2:
+ print(get_prerelease_suffix(sys.argv[1]))