config/printprereleasesuffix.py
author Tyler Maklebust <maklebus@msu.edu>
Mon, 19 Dec 2016 21:10:54 -0500
changeset 325625 550922e8b2234ceb7bd8eb1e738c14ff8bff56ee
parent 123443 8f83edc05fa4d458d82668a95853c907544d0b8d
permissions -rw-r--r--
Bug 1309935 - Add ability to find within select dropdown when over 40 elements. r?jaws, mconley, enndeakin Search implemented for select dropdown options. List navigation takes keyboard input as before, until search field is focused. Pref added to enable search (dom.forms.selectSearch). Task added to test search functionality. MozReview-Commit-ID: BiKRvNbQnxx

# 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]))