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..bea5579843b1ef8034849650c6eea89f905f4a67 |
--- /dev/null |
+++ b/mojo/public/tools/bindings/gen_data_files_list.py |
@@ -0,0 +1,37 @@ |
+# 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 |
yzshen1
2017/03/27 00:29:17
style nit: trailing ".", please.
|
+ |
+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 |
+from os import listdir |
+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) |
+ files = [ f for f in listdir(options.directory) if pattern.match(f)] |
+ out = file(options.output, 'w') |
+ with out: |
+ for f in files: |
+ out.write(f + '\n') |
+ |
+if __name__ == '__main__': |
+ sys.exit(main()) |