| import argparse | |
| def str2bool(v): | |
| if v is None: | |
| return None | |
| exclusive = ['accurate', 'query', 'document'] | |
| if v in exclusive: | |
| return v | |
| if isinstance(v, bool): | |
| return v | |
| if v.lower() in ('yes', 'true', 't', 'y', '1'): | |
| return True | |
| elif v.lower() in ('no', 'false', 'f', 'n', '0'): | |
| return False | |
| else: | |
| raise argparse.ArgumentTypeError('Boolean value expected.') | |