diff --git a/prjxray/util.py b/prjxray/util.py index 6fa10329..6fbe2bd8 100644 --- a/prjxray/util.py +++ b/prjxray/util.py @@ -234,3 +234,12 @@ def gen_fuzz_states(nvals): for i in range(nvals): mask = (1 << i) yield int(bool(bits & mask)) + + +def add_bool_arg(parser, yes_arg, default=False, **kwargs): + dashed = yes_arg.replace('--', '') + dest = dashed.replace('-', '_') + parser.add_argument( + yes_arg, dest=dest, action='store_true', default=default, **kwargs) + parser.add_argument( + '--no-' + dashed, dest=dest, action='store_false', **kwargs)