OLD | NEW |
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 the directories under pkg, with their lib directories. | 6 '''Tool for listing the directories under pkg, with their lib directories. |
7 Used in pkg.gyp. Lists all of the directories in the directory passed in as an | 7 Used in pkg.gyp. Lists all of the directories in the directory passed in as an |
8 argument to this script which have a lib subdirectory. | 8 argument to this script which have a lib subdirectory. |
9 | 9 |
10 Usage: | 10 Usage: |
11 python tools/list_pkg_directories.py directory_to_list | 11 python tools/list_pkg_directories.py OPTIONS DIRECTORY |
12 ''' | 12 ''' |
13 | 13 |
| 14 import optparse |
14 import os | 15 import os |
15 import sys | 16 import sys |
16 | 17 |
| 18 def get_options(): |
| 19 result = optparse.OptionParser() |
| 20 result.add_option("--exclude", |
| 21 help='A comma-separated list of directory names to exclude.') |
| 22 return result.parse_args() |
| 23 |
17 def main(argv): | 24 def main(argv): |
18 directory = argv[1] | 25 (options, args) = get_options() |
19 paths = map(lambda x: x + '/lib', filter(lambda x: os.path.isdir( | 26 directory = args[0] |
20 os.path.join(directory, x)), os.listdir(directory))) | 27 exclude = options.exclude.split(',') if options.exclude else [] |
| 28 |
| 29 paths = [ |
| 30 path + '/lib' for path in os.listdir(directory) |
| 31 if path not in exclude and os.path.isdir(os.path.join(directory, path)) |
| 32 ] |
| 33 |
21 for lib in filter(lambda x: os.path.exists(os.path.join(directory, x)), | 34 for lib in filter(lambda x: os.path.exists(os.path.join(directory, x)), |
22 paths): | 35 paths): |
23 print '%s/%s' % (directory, lib) | 36 print '%s/%s' % (directory, lib) |
24 | 37 |
25 if __name__ == '__main__': | 38 if __name__ == '__main__': |
26 sys.exit(main(sys.argv)) | 39 sys.exit(main(sys.argv)) |
OLD | NEW |