Revert to using argparse's mutually exclusive options.

This commit is contained in:
Ryan Miguel 2022-10-22 14:50:06 -07:00
parent 3d305e15ef
commit d566f5bfff

View file

@ -49,25 +49,25 @@ def sort_file_contents(
def main(argv: Sequence[str] | None = None) -> int: def main(argv: Sequence[str] | None = None) -> int:
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser(exit_on_error=False)
parser.add_argument('filenames', nargs='+', help='Files to sort') parser.add_argument('filenames', nargs='+', help='Files to sort')
parser.add_argument( group = parser.add_mutually_exclusive_group()
group.add_argument(
'--ignore-case', '--ignore-case',
action='store_const', action='store_const',
const=bytes.lower, const=bytes.lower,
default=None, default=None,
help='fold lower case to upper case characters', help='fold lower case to upper case characters',
) )
parser.add_argument( group.add_argument(
'--unique', '--unique',
action='store_true', action='store_true',
help='ensure each line is unique', help='ensure each line is unique',
) )
args = parser.parse_args(argv) try:
args = parser.parse_args(argv)
if args.ignore_case and args.unique: except argparse.ArgumentError as e:
print('ERROR: usage of --unique and --ignore-case is unsupported. \ print(f'{e}')
Please update your configuration.')
return FAIL return FAIL
retv = PASS retv = PASS