From 838d4452998b04dd41c3d04d21c303bf19745629 Mon Sep 17 00:00:00 2001 From: The MMGen Project Date: Tue, 29 Sep 2026 09:23:30 +0000 Subject: [PATCH] tool.__init__: cleanups --- mmgen/tool/__init__.py | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/mmgen/tool/__init__.py b/mmgen/tool/__init__.py index 5148237f..b56506f5 100755 --- a/mmgen/tool/__init__.py +++ b/mmgen/tool/__init__.py @@ -66,16 +66,11 @@ def create_call_sig(cmd, cls, *, as_string=False): def process_args(cmd, cmd_args, cls): c_args, c_kwargs, c_kwargs_types, flag, _ = create_call_sig(cmd, cls) have_stdin_input = False - from ..util import msg, suf - - def usage_die(s): - msg(s) - from .help import usage - usage(cmd) + from ..util import suf if flag != 'VAR_ARGS': if len(cmd_args) < len(c_args): - usage_die(f'Command requires exactly {len(c_args)} non-keyword argument{suf(c_args)}') + die(1, f'Command requires exactly {len(c_args)} non-keyword argument{suf(c_args)}') u_args = cmd_args[:len(c_args)] @@ -108,13 +103,13 @@ def process_args(cmd, cmd_args, cls): elif u_nkwargs > 0: u_kwargs = dict([a.split('=', 1) for a in cmd_args[len(c_args):] if '=' in a]) if len(u_kwargs) != u_nkwargs: - usage_die(f'Command requires exactly {len(c_args)} non-keyword argument{suf(c_args)}') + die(1, f'Command requires exactly {len(c_args)} non-keyword argument{suf(c_args)}') if len(u_kwargs) > len(c_kwargs): - usage_die(f'Command accepts no more than {len(c_kwargs)} keyword argument{suf(c_kwargs)}') + die(1, f'Command accepts no more than {len(c_kwargs)} keyword argument{suf(c_kwargs)}') for k in u_kwargs: if k not in c_kwargs: - usage_die(f'{k!r}: invalid keyword argument') + die(1, f'{k!r}: invalid keyword argument') def conv_type(arg, arg_name, arg_type): if arg_type == 'bytes' and not isinstance(arg, bytes): @@ -125,14 +120,13 @@ def process_args(cmd, cmd_args, cls): arg = arg.decode() if arg[-len(NL):] == NL: # rstrip one newline arg = arg[:-len(NL)] - - if arg_type == 'bool': + elif arg_type == 'bool': if arg.lower() in ('true', 'yes', '1', 'on'): arg = True elif arg.lower() in ('false', 'no', '0', 'off'): arg = False else: - usage_die(f'{arg!r}: invalid boolean value for keyword argument') + die(1, f'{arg!r}: invalid boolean value for keyword argument') try: return __builtins__[arg_type](arg)