Index: build/extract_from_cab.py |
diff --git a/build/extract_from_cab.py b/build/extract_from_cab.py |
deleted file mode 100755 |
index 080370ca9adee2dd953456d45d29e1fa7398e12e..0000000000000000000000000000000000000000 |
--- a/build/extract_from_cab.py |
+++ /dev/null |
@@ -1,63 +0,0 @@ |
-#!/usr/bin/env python |
-# Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-# Use of this source code is governed by a BSD-style license that can be |
-# found in the LICENSE file. |
- |
-"""Extracts a single file from a CAB archive.""" |
- |
-import os |
-import shutil |
-import subprocess |
-import sys |
-import tempfile |
- |
-def run_quiet(*args): |
- """Run 'expand' suppressing noisy output. Returns returncode from process.""" |
- popen = subprocess.Popen(args, stdout=subprocess.PIPE) |
- out, _ = popen.communicate() |
- if popen.returncode: |
- # expand emits errors to stdout, so if we fail, then print that out. |
- print out |
- return popen.returncode |
- |
-def main(): |
- if len(sys.argv) != 4: |
- print 'Usage: extract_from_cab.py cab_path archived_file output_dir' |
- return 1 |
- |
- [cab_path, archived_file, output_dir] = sys.argv[1:] |
- |
- # Expand.exe does its work in a fixed-named temporary directory created within |
- # the given output directory. This is a problem for concurrent extractions, so |
- # create a unique temp dir within the desired output directory to work around |
- # this limitation. |
- temp_dir = tempfile.mkdtemp(dir=output_dir) |
- |
- try: |
- # Invoke the Windows expand utility to extract the file. |
- level = run_quiet('expand', cab_path, '-F:' + archived_file, temp_dir) |
- if level == 0: |
- # Move the output file into place, preserving expand.exe's behavior of |
- # paving over any preexisting file. |
- output_file = os.path.join(output_dir, archived_file) |
- try: |
- os.remove(output_file) |
- except OSError: |
- pass |
- os.rename(os.path.join(temp_dir, archived_file), output_file) |
- finally: |
- shutil.rmtree(temp_dir, True) |
- |
- if level != 0: |
- return level |
- |
- # The expand utility preserves the modification date and time of the archived |
- # file. Touch the extracted file. This helps build systems that compare the |
- # modification times of input and output files to determine whether to do an |
- # action. |
- os.utime(os.path.join(output_dir, archived_file), None) |
- return 0 |
- |
- |
-if __name__ == '__main__': |
- sys.exit(main()) |