diff options
author | 2024-08-12 23:52:21 +0000 | |
---|---|---|
committer | 2024-08-12 23:52:21 +0000 | |
commit | 51554b41b5936d11455c11d286f339d601f55f21 (patch) | |
tree | 58addbcb8203b0ca68d187a623a0161ffad734e4 /bin | |
parent | 703c2e3d64aff7950a8485a2c46fe15b0f91d89e (diff) | |
parent | 84ac591b53515b22e82204e6ebf27205b42eee45 (diff) |
Merge "dirmods: Add option to not recurse" into main
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/dirmods | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/bin/dirmods b/bin/dirmods index a6d4de3be..c8976d53f 100755 --- a/bin/dirmods +++ b/bin/dirmods @@ -32,7 +32,10 @@ import modinfo def main(): parser = argparse.ArgumentParser(description=__doc__) parser.add_argument('path') + parser.add_argument('--no-recurse', '-n', action='store_true', + help='Do not include modules defined in subdirs of path') args = parser.parse_args() + should_recurse = not args.no_recurse d = os.path.normpath(args.path) # Fix absolute path to be relative to build top @@ -43,15 +46,15 @@ def main(): if d.startswith(base): d = d[len(base):] - prefix = d + '/' + prefix = d + os.path.sep module_info = modinfo.ReadModuleInfo() results = set() for m in module_info.values(): - for path in m.get(u'path', []): - if path == d or path.startswith(prefix): - name = m.get(u'module_name') + for path in m.get('path', []): + if path == d or (should_recurse and path.startswith(prefix)): + name = m.get('module_name') if name: results.add(name) |