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.

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

mercurial