| 12345678910111213141516171819202122232425262728293031323334353637 |
- #!/usr/bin/env python3
- """Miscellaneous diagnostics for the import system"""
- import sys
- import argparse
- from pprint import pprint
- def _dump_state(args):
- print(sys.version)
- 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, _add_dump_args),
- )
- def _make_parser():
- parser = argparse.ArgumentParser()
- sub = parser.add_subparsers(title="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):
- parser = _make_parser()
- args = parser.parse_args(args)
- return args.command(args)
- if __name__ == "__main__":
- sys.exit(main(sys.argv[1:]))
|