Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(131)

Side by Side Diff: mojo/public/tools/gn/zip.py

Issue 855043003: Revert "Content handler for python." (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « mojo/public/tools/bindings/mojom.gni ('k') | mojo/python/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 #!/usr/bin/env python
2 #
3 # Copyright 2014 The Chromium Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file.
6
7 """Archives a set of files.
8 """
9
10 import ast
11 import optparse
12 import os
13 import sys
14 import zipfile
15
16 def DoZip(inputs, zip_inputs, output, base_dir):
17 files = []
18 with zipfile.ZipFile(output, 'w') as outfile:
19 for f in inputs:
20 file_name = os.path.relpath(f, base_dir)
21 files.append(file_name)
22 outfile.write(f, file_name)
23 for zf_name in zip_inputs:
24 with zipfile.ZipFile(zf_name, 'r') as zf:
25 for f in zf.namelist():
26 if f not in files:
27 files.append(f)
28 with zf.open(f) as zff:
29 outfile.writestr(f, zff.read())
30
31
32 def main():
33 parser = optparse.OptionParser()
34
35 parser.add_option('--inputs', help='List of files to archive.')
36 parser.add_option('--zip-inputs', help='List of zip files to re-archive.')
37 parser.add_option('--output', help='Path to output archive.')
38 parser.add_option('--base-dir',
39 help='If provided, the paths in the archive will be '
40 'relative to this directory', default='.')
41
42 options, _ = parser.parse_args()
43
44 inputs = ast.literal_eval(options.inputs)
45 zip_inputs = []
46 if options.zip_inputs:
47 zip_inputs = ast.literal_eval(options.zip_inputs)
48 output = options.output
49 base_dir = options.base_dir
50
51 DoZip(inputs, zip_inputs, output, base_dir)
52
53 if __name__ == '__main__':
54 sys.exit(main())
OLDNEW
« no previous file with comments | « mojo/public/tools/bindings/mojom.gni ('k') | mojo/python/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698