Index: mojo/public/tools/bindings/gen_data_files_list.py |
diff --git a/mojo/public/tools/bindings/gen_data_files_list.py b/mojo/public/tools/bindings/gen_data_files_list.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..f8f001a87362b6e169703ca1e6785790d67b0cdb |
--- /dev/null |
+++ b/mojo/public/tools/bindings/gen_data_files_list.py |
@@ -0,0 +1,41 @@ |
+# Copyright 2017 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. |
+"""Generates a list of all files in a directory. |
+ |
+This script takes in a directory and an output file name as input. |
+It then reads the directory and creates a list of all file names |
+in that directory. The list is written to the output file. |
+There is also an option to pass in '-p' or '--pattern' |
+which will check each file name against a regular expression |
+pattern that is passed in. Only files which match the regex |
+will be written to the list. |
+""" |
+ |
+from optparse import OptionParser |
+import os |
+import re |
+import sys |
+ |
+def main(): |
+ parser = OptionParser() |
+ parser.add_option('-d', '--directory', help='Read files from DIRECTORY') |
+ parser.add_option('-o', '--output', help='Write list to FILE') |
+ parser.add_option('-p', |
+ '--pattern', |
+ help='Only reads files that name matches PATTERN', |
+ default=".") |
+ (options, _) = parser.parse_args() |
+ pattern = re.compile(options.pattern) |
+ print(options.directory) |
+ print(os.listdir(options.directory)) |
+ files = [ f for f in os.listdir(options.directory) if pattern.match(f)] |
+ print(files) |
+ print(os.getcwd()) |
+ print(options.output) |
+ with file(options.output, 'w') as out: |
+ for f in files: |
+ out.write(f + '\n') |
+ |
+if __name__ == '__main__': |
+ sys.exit(main()) |