Loading tools/findleaves.py +26 −10 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ import os import sys def perform_find(mindepth, prune, dirlist, filename): def perform_find(mindepth, prune, dirlist, filenames): result = [] pruneleaves = set(map(lambda x: os.path.split(x)[1], prune)) for rootdir in dirlist: Loading @@ -48,19 +48,24 @@ def perform_find(mindepth, prune, dirlist, filename): if depth < mindepth: continue # match for filename in filenames: if filename in files: result.append(os.path.join(root, filename)) del dirs[:] return result def usage(): sys.stderr.write("""Usage: %(progName)s [<options>] <dirlist> <filename> sys.stderr.write("""Usage: %(progName)s [<options>] [--dir=<dir>] <filenames> Options: --mindepth=<mindepth> Both behave in the same way as their find(1) equivalents. --prune=<dirname> Avoids returning results from inside any directory called <dirname> (e.g., "*/out/*"). May be used multiple times. --dir=<dir> Add a directory to search. May be repeated multiple times. For backwards compatibility, if no --dir argument is provided then all but the last entry in <filenames> are treated as directories. """ % { "progName": os.path.split(sys.argv[0])[1], }) Loading @@ -69,6 +74,7 @@ Options: def main(argv): mindepth = -1 prune = [] dirlist = [] i=1 while i<len(argv) and len(argv[i])>2 and argv[i][0:2] == "--": arg = argv[i] Loading @@ -82,14 +88,24 @@ def main(argv): if len(p) == 0: usage() prune.append(p) elif arg.startswith("--dir="): d = arg[len("--dir="):] if len(p) == 0: usage() dirlist.append(d) else: usage() i += 1 if len(dirlist) == 0: # backwards compatibility if len(argv)-i < 2: # need both <dirlist> and <filename> usage() dirlist = argv[i:-1] filename = argv[-1] results = list(set(perform_find(mindepth, prune, dirlist, filename))) filenames = [argv[-1]] else: if len(argv)-i < 1: # need <filename> usage() filenames = argv[i:] results = list(set(perform_find(mindepth, prune, dirlist, filenames))) results.sort() for r in results: print r Loading Loading
tools/findleaves.py +26 −10 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ import os import sys def perform_find(mindepth, prune, dirlist, filename): def perform_find(mindepth, prune, dirlist, filenames): result = [] pruneleaves = set(map(lambda x: os.path.split(x)[1], prune)) for rootdir in dirlist: Loading @@ -48,19 +48,24 @@ def perform_find(mindepth, prune, dirlist, filename): if depth < mindepth: continue # match for filename in filenames: if filename in files: result.append(os.path.join(root, filename)) del dirs[:] return result def usage(): sys.stderr.write("""Usage: %(progName)s [<options>] <dirlist> <filename> sys.stderr.write("""Usage: %(progName)s [<options>] [--dir=<dir>] <filenames> Options: --mindepth=<mindepth> Both behave in the same way as their find(1) equivalents. --prune=<dirname> Avoids returning results from inside any directory called <dirname> (e.g., "*/out/*"). May be used multiple times. --dir=<dir> Add a directory to search. May be repeated multiple times. For backwards compatibility, if no --dir argument is provided then all but the last entry in <filenames> are treated as directories. """ % { "progName": os.path.split(sys.argv[0])[1], }) Loading @@ -69,6 +74,7 @@ Options: def main(argv): mindepth = -1 prune = [] dirlist = [] i=1 while i<len(argv) and len(argv[i])>2 and argv[i][0:2] == "--": arg = argv[i] Loading @@ -82,14 +88,24 @@ def main(argv): if len(p) == 0: usage() prune.append(p) elif arg.startswith("--dir="): d = arg[len("--dir="):] if len(p) == 0: usage() dirlist.append(d) else: usage() i += 1 if len(dirlist) == 0: # backwards compatibility if len(argv)-i < 2: # need both <dirlist> and <filename> usage() dirlist = argv[i:-1] filename = argv[-1] results = list(set(perform_find(mindepth, prune, dirlist, filename))) filenames = [argv[-1]] else: if len(argv)-i < 1: # need <filename> usage() filenames = argv[i:] results = list(set(perform_find(mindepth, prune, dirlist, filenames))) results.sort() for r in results: print r Loading