gen_compile_commands: use choices for --log_levels option
Use 'choices' to check if the given parameter is valid.
I also simplified the help message because, with 'choices', --help
shows the list of valid parameters:
--log_level {DEBUG,INFO,WARNING,ERROR,CRITICAL}
I started the help message with a lower case, "the level of log ..."
in order to be consistent with the -h option:
-h, --help show this help message and exit
The message "show this help ..." comes from the ArgumentParser library
code, and I do not know how to change it. So, I changed our code.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
This commit is contained in:
@@ -45,24 +45,18 @@ def parse_arguments():
|
|||||||
'compile_commands.json in the search directory)')
|
'compile_commands.json in the search directory)')
|
||||||
parser.add_argument('-o', '--output', type=str, help=output_help)
|
parser.add_argument('-o', '--output', type=str, help=output_help)
|
||||||
|
|
||||||
log_level_help = ('The level of log messages to produce (one of ' +
|
log_level_help = ('the level of log messages to produce (defaults to ' +
|
||||||
', '.join(_VALID_LOG_LEVELS) + '; defaults to ' +
|
|
||||||
_DEFAULT_LOG_LEVEL + ')')
|
_DEFAULT_LOG_LEVEL + ')')
|
||||||
parser.add_argument(
|
parser.add_argument('--log_level', choices=_VALID_LOG_LEVELS,
|
||||||
'--log_level', type=str, default=_DEFAULT_LOG_LEVEL,
|
default=_DEFAULT_LOG_LEVEL, help=log_level_help)
|
||||||
help=log_level_help)
|
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
log_level = args.log_level
|
|
||||||
if log_level not in _VALID_LOG_LEVELS:
|
|
||||||
raise ValueError('%s is not a valid log level' % log_level)
|
|
||||||
|
|
||||||
directory = args.directory or os.getcwd()
|
directory = args.directory or os.getcwd()
|
||||||
output = args.output or os.path.join(directory, _DEFAULT_OUTPUT)
|
output = args.output or os.path.join(directory, _DEFAULT_OUTPUT)
|
||||||
directory = os.path.abspath(directory)
|
directory = os.path.abspath(directory)
|
||||||
|
|
||||||
return log_level, directory, output
|
return args.log_level, directory, output
|
||||||
|
|
||||||
|
|
||||||
def process_line(root_directory, file_directory, command_prefix, relative_path):
|
def process_line(root_directory, file_directory, command_prefix, relative_path):
|
||||||
|
|||||||
Reference in New Issue
Block a user