Eric Snow | 345cd37 | 2020-10-22 18:42:51 -0600 | [diff] [blame] | 1 | from cpython.__main__ import main, configure_logger |
Eric Snow | 2ebc5ce | 2017-09-07 23:51:28 -0600 | [diff] [blame] | 2 | |
Eric Snow | 2ebc5ce | 2017-09-07 23:51:28 -0600 | [diff] [blame] | 3 | |
Eric Snow | 345cd37 | 2020-10-22 18:42:51 -0600 | [diff] [blame] | 4 | def parse_args(): |
Eric Snow | 2ebc5ce | 2017-09-07 23:51:28 -0600 | [diff] [blame] | 5 | import argparse |
Eric Snow | 345cd37 | 2020-10-22 18:42:51 -0600 | [diff] [blame] | 6 | from c_common.scriptutil import ( |
| 7 | add_verbosity_cli, |
| 8 | add_traceback_cli, |
| 9 | process_args_by_key, |
| 10 | ) |
| 11 | from cpython.__main__ import _cli_check |
Eric Snow | 2ebc5ce | 2017-09-07 23:51:28 -0600 | [diff] [blame] | 12 | parser = argparse.ArgumentParser() |
Eric Snow | 345cd37 | 2020-10-22 18:42:51 -0600 | [diff] [blame] | 13 | processors = [ |
| 14 | add_verbosity_cli(parser), |
| 15 | add_traceback_cli(parser), |
| 16 | _cli_check(parser, checks='<globals>'), |
| 17 | ] |
Eric Snow | 2ebc5ce | 2017-09-07 23:51:28 -0600 | [diff] [blame] | 18 | |
Eric Snow | 345cd37 | 2020-10-22 18:42:51 -0600 | [diff] [blame] | 19 | args = parser.parse_args() |
| 20 | ns = vars(args) |
Eric Snow | 2ebc5ce | 2017-09-07 23:51:28 -0600 | [diff] [blame] | 21 | |
Eric Snow | 345cd37 | 2020-10-22 18:42:51 -0600 | [diff] [blame] | 22 | cmd = 'check' |
| 23 | verbosity, traceback_cm = process_args_by_key( |
| 24 | args, |
Eric Snow | 7ec59d8 | 2020-12-24 11:04:19 -0700 | [diff] [blame] | 25 | argv, |
Eric Snow | 345cd37 | 2020-10-22 18:42:51 -0600 | [diff] [blame] | 26 | processors, |
| 27 | ['verbosity', 'traceback_cm'], |
| 28 | ) |
Eric Snow | 2ebc5ce | 2017-09-07 23:51:28 -0600 | [diff] [blame] | 29 | |
Eric Snow | 345cd37 | 2020-10-22 18:42:51 -0600 | [diff] [blame] | 30 | return cmd, ns, verbosity, traceback_cm |
Eric Snow | 2ebc5ce | 2017-09-07 23:51:28 -0600 | [diff] [blame] | 31 | |
| 32 | |
Eric Snow | 345cd37 | 2020-10-22 18:42:51 -0600 | [diff] [blame] | 33 | (cmd, cmd_kwargs, verbosity, traceback_cm) = parse_args() |
| 34 | configure_logger(verbosity) |
| 35 | with traceback_cm: |
| 36 | main(cmd, cmd_kwargs) |