config/printprereleasesuffix.py

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

     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/.
     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
    14 import sys
    15 import re
    17 def get_prerelease_suffix(version):
    18   """ Returns the prerelease suffix from the version string argument """
    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
    30 if len(sys.argv) == 2:
    31   print(get_prerelease_suffix(sys.argv[1]))

mercurial