diff options
author | Benjamin Peterson <benjamin@python.org> | 2014-08-19 21:13:26 (GMT) |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2014-08-19 21:13:26 (GMT) |
commit | 344ff4ab2b68dee327fb36ee4fe01124466e49d6 (patch) | |
tree | b7f5bedd0568b5eef6812cac94d0d56ecc2c1258 /Lib/compileall.py | |
parent | 54b3b3fb2cb54e25901710b98b8d7b13d5f3b01e (diff) | |
download | cpython-344ff4ab2b68dee327fb36ee4fe01124466e49d6.zip cpython-344ff4ab2b68dee327fb36ee4fe01124466e49d6.tar.gz cpython-344ff4ab2b68dee327fb36ee4fe01124466e49d6.tar.bz2 |
allow recursion depth to be specified (closes #19628)
Patch from Claudiu Popa.
Diffstat (limited to 'Lib/compileall.py')
-rw-r--r-- | Lib/compileall.py | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/Lib/compileall.py b/Lib/compileall.py index d957ee5..513d899 100644 --- a/Lib/compileall.py +++ b/Lib/compileall.py @@ -169,6 +169,10 @@ def main(): parser.add_argument('-l', action='store_const', const=0, default=10, dest='maxlevels', help="don't recurse into subdirectories") + parser.add_argument('-r', type=int, dest='recursion', + help=('control the maximum recursion level. ' + 'if `-l` and `-r` options are specified, ' + 'then `-r` takes precedence.')) parser.add_argument('-f', action='store_true', dest='force', help='force rebuild even if timestamps are up to date') parser.add_argument('-q', action='store_true', dest='quiet', @@ -203,6 +207,12 @@ def main(): import re args.rx = re.compile(args.rx) + + if args.recursion is not None: + maxlevels = args.recursion + else: + maxlevels = args.maxlevels + # if flist is provided then load it if args.flist: try: @@ -222,7 +232,7 @@ def main(): args.quiet, args.legacy): success = False else: - if not compile_dir(dest, args.maxlevels, args.ddir, + if not compile_dir(dest, maxlevels, args.ddir, args.force, args.rx, args.quiet, args.legacy): success = False |