diff options
author | Nick Coghlan <ncoghlan@gmail.com> | 2012-04-29 07:58:24 (GMT) |
---|---|---|
committer | Nick Coghlan <ncoghlan@gmail.com> | 2012-04-29 07:58:24 (GMT) |
commit | ec5cf095a9d658fad092d77fe7825933abd3cc5b (patch) | |
tree | 604158bde34fe2f5882106478c0203346a18f3f9 /Tools/scripts/import_diagnostics.py | |
parent | 5fbd37e57a21b15def7550c5649600531d82030d (diff) | |
download | cpython-ec5cf095a9d658fad092d77fe7825933abd3cc5b.zip cpython-ec5cf095a9d658fad092d77fe7825933abd3cc5b.tar.gz cpython-ec5cf095a9d658fad092d77fe7825933abd3cc5b.tar.bz2 |
Better control when dumping import state
Diffstat (limited to 'Tools/scripts/import_diagnostics.py')
-rwxr-xr-x | Tools/scripts/import_diagnostics.py | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/Tools/scripts/import_diagnostics.py b/Tools/scripts/import_diagnostics.py index 1aa12b3..c907221 100755 --- a/Tools/scripts/import_diagnostics.py +++ b/Tools/scripts/import_diagnostics.py @@ -7,27 +7,25 @@ from pprint import pprint def _dump_state(args): print(sys.version) - print("sys.path:") - pprint(sys.path) - print("sys.meta_path") - pprint(sys.meta_path) - print("sys.path_hooks") - pprint(sys.path_hooks) - print("sys.path_importer_cache") - pprint(sys.path_importer_cache) - print("sys.modules:") - pprint(sys.modules) + for name in args.attributes: + print("sys.{}:".format(name)) + pprint(getattr(sys, name)) + +def _add_dump_args(cmd): + cmd.add_argument("attributes", metavar="ATTR", nargs="+", + help="sys module attribute to display") COMMANDS = ( - ("dump", "Dump import state", _dump_state), + ("dump", "Dump import state", _dump_state, _add_dump_args), ) def _make_parser(): parser = argparse.ArgumentParser() sub = parser.add_subparsers(title="Commands") - for name, description, implementation in COMMANDS: + for name, description, implementation, add_args in COMMANDS: cmd = sub.add_parser(name, help=description) cmd.set_defaults(command=implementation) + add_args(cmd) return parser def main(args): |