media/mtransport/third_party/import.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 #!/usr/bin/env python
     2 # This Source Code Form is subject to the terms of the Mozilla Public
     3 # License, v. 2.0. If a copy of the MPL was not distributed with this
     4 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
     5 #
     6 # Execute as: /import.py <source-distribution> <target-dir>
     7 # <target-dir> must have 'IMPORT_FILES' in it
     9 import sys
    10 import re
    11 import os
    12 import shutil
    14 def die(msg):
    15     sys.stderr.write('ERROR:' + msg + '\n')
    16     sys.exit(1)
    18 DISTRO = sys.argv[1]
    19 IMPORT_DIR = sys.argv[2]
    20 FILES = []
    22 f = open("%s/IMPORT_FILES" % IMPORT_DIR)
    23 for l in f:
    24     l = l.strip()
    25     l = l.strip("'")
    26     if l.startswith("#"):
    27         continue
    28     if not l:
    29         continue
    30     FILES.append(l)
    32 for f in FILES:
    33     print f
    34     SOURCE_PATH = "%s/%s"%(DISTRO,f)
    35     DEST_PATH = "%s/%s"%(IMPORT_DIR,f)
    36     if not os.path.exists(SOURCE_PATH):
    37         die("%s does not exist"%SOURCE_PATH)
    38     if not os.path.exists(os.path.dirname(DEST_PATH)):
    39         os.makedirs(os.path.dirname(DEST_PATH))
    40     shutil.copyfile(SOURCE_PATH, DEST_PATH)

mercurial