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

Side by Side Diff: tools/list_files.py

Issue 2567213002: Make list_files.py and list_dart_files.py return absolute paths for GN (Closed)
Patch Set: Comments and checking in scripts Created 4 years 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 | « tools/list_dart_files.py ('k') | utils/compiler/compiler.gyp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 2 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
3 # for details. All rights reserved. Use of this source code is governed by a 3 # for details. All rights reserved. Use of this source code is governed by a
4 # BSD-style license that can be found in the LICENSE file. 4 # BSD-style license that can be found in the LICENSE file.
5 5
6 """Tool for listing files whose name match a pattern. 6 """Tool for listing files whose name match a pattern.
7 7
8 If the first argument is 'relative', the script produces paths relative to the
9 current working directory. If the first argument is 'absolute', the script
10 produces absolute paths.
11
8 Usage: 12 Usage:
9 python tools/list_files.py PATTERN DIRECTORY... 13 python tools/list_files.py {absolute, relative} PATTERN DIRECTORY...
10 """ 14 """
11 15
12 import os 16 import os
13 import re 17 import re
14 import sys 18 import sys
15 19
16 20
17 def main(argv): 21 def main(argv):
18 pattern = re.compile(argv[1]) 22 mode = argv[1]
19 for directory in argv[2:]: 23 if mode not in ['absolute', 'relative']:
24 raise Exception("First argument must be 'absolute' or 'relative'")
25 pattern = re.compile(argv[2])
26 for directory in argv[3:]:
27 if mode in 'absolute' and not os.path.isabs(directory):
28 directory = os.path.realpath(directory)
20 for root, directories, files in os.walk(directory): 29 for root, directories, files in os.walk(directory):
21 if '.git' in directories: 30 if '.git' in directories:
22 directories.remove('.git') 31 directories.remove('.git')
23 for filename in files: 32 for filename in files:
24 fullname = os.path.relpath(os.path.join(root, filename)) 33 if mode in 'absolute':
34 fullname = os.path.join(directory, root, filename)
35 else:
36 fullname = os.path.relpath(os.path.join(root, filename))
25 fullname = fullname.replace(os.sep, '/') 37 fullname = fullname.replace(os.sep, '/')
26 if re.search(pattern, fullname): 38 if re.search(pattern, fullname):
27 print fullname 39 print fullname
28 40
29 41
30 if __name__ == '__main__': 42 if __name__ == '__main__':
31 sys.exit(main(sys.argv)) 43 sys.exit(main(sys.argv))
OLDNEW
« no previous file with comments | « tools/list_dart_files.py ('k') | utils/compiler/compiler.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698