| Index: third_party/mojo/src/mojo/public/tools/gn/unzip.py
|
| diff --git a/third_party/mojo/src/mojo/public/tools/gn/unzip.py b/third_party/mojo/src/mojo/public/tools/gn/unzip.py
|
| new file mode 100755
|
| index 0000000000000000000000000000000000000000..988fc0805de6956344ac04ae33514c824bb59192
|
| --- /dev/null
|
| +++ b/third_party/mojo/src/mojo/public/tools/gn/unzip.py
|
| @@ -0,0 +1,46 @@
|
| +#!/usr/bin/env python
|
| +#
|
| +# Copyright 2015 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 set of zip archives. """
|
| +
|
| +import ast
|
| +import optparse
|
| +import os
|
| +import sys
|
| +import zipfile
|
| +
|
| +def DoUnzip(inputs, output):
|
| + if not os.path.exists(output):
|
| + os.makedirs(output)
|
| + for i in inputs:
|
| + with zipfile.ZipFile(i) as zf:
|
| + zf.extractall(output)
|
| +
|
| +
|
| +def main():
|
| + parser = optparse.OptionParser()
|
| +
|
| + parser.add_option('--inputs', help='List of archives to extract.')
|
| + parser.add_option('--output', help='Path to unzip the archives to.')
|
| + parser.add_option('--timestamp', help='Path to a timestamp file.')
|
| +
|
| + options, _ = parser.parse_args()
|
| +
|
| + inputs = []
|
| + if (options.inputs):
|
| + inputs = ast.literal_eval(options.inputs)
|
| +
|
| + DoUnzip(inputs, options.output)
|
| +
|
| + if options.timestamp:
|
| + if os.path.exists(options.timestamp):
|
| + os.utime(options.timestamp, None)
|
| + else:
|
| + with open(options.timestamp, 'a'):
|
| + pass
|
| +
|
| +if __name__ == '__main__':
|
| + sys.exit(main())
|
|
|