2626 args = ['--docs' ], action = 'store_true' , exit = True , handler = lambda cli : url .open (cli .urls .docs )),
2727 debug = sn (
2828 args = ['-V' , '--debug' ], nargs = '?' , const = True , metavar = 'TARGET_KEY' ),
29- no_wizard_legacy = sn (
30- legacy = True , args = ['-W' , ])
29+ legacy_no_wizard = sn (
30+ replaced_by = 'no_wizard' , args = ['-W' ])
3131)
3232
3333def load (cli ):
3434 cli .config = sn ()
3535
3636 # Assign help tips from cli.msgs
3737 for ctrl_key , ctrl in vars (controls ).items ():
38- if getattr ( ctrl , 'legacy' , False ) : continue
38+ if ctrl_key . startswith ( 'legacy' ) : continue
3939 if not hasattr (ctrl , 'help' ) : ctrl .help = getattr (cli .msgs , f'help_{ ctrl_key .upper ()} ' )
4040
4141 # Parse CLI args
4242 argp = argparse .ArgumentParser (description = cli .description , add_help = False )
4343 for ctrl_key , ctrl in vars (controls ).items (): # add args to argp
4444 kwargs = ctrl .__dict__ .copy ()
4545 args = kwargs .pop ('args' )
46- if getattr ( ctrl , 'legacy' , False ):
46+ if ctrl_key . startswith ( 'legacy' ):
4747 for arg in args :
4848 if arg in sys .argv :
4949 log .warn (f'{ cli .msgs .warn_OPTION } { arg } { cli .msgs .warn_NO_LONGER_HAS_ANY_EFFECT } .' )
@@ -54,8 +54,8 @@ def load(cli):
5454 argp .add_argument (* args , ** argparse_kwargs )
5555 parsed_args , unknown_args = argp .parse_known_args ()
5656 exempt_flags = [] # exempt dashless + legacy args from validation
57- for ctrl in vars (controls ).values ():
58- if getattr (ctrl , 'subcmd' , False ) or getattr ( ctrl , 'legacy' , False ):
57+ for ctrl_key , ctrl in vars (controls ).items ():
58+ if getattr (ctrl , 'subcmd' , False ) or ctrl_key . startswith ( 'legacy' ):
5959 for arg in ctrl .args : exempt_flags .append (arg )
6060 if unknown_args and not all (any (arg .startswith (exempt ) for exempt in exempt_flags ) for arg in unknown_args ):
6161 log .cmd_docs_url_exit (cli , f"{ cli .msgs .err_UNRECOGNIZED_ARGS } : { ' ' .join (unknown_args )} " , cmd = 'help' )
0 commit comments