diff --git a/tests/test_webservice.py b/tests/test_webservice.py index 30c3606cd79cf7896364b297eedc6c68d31161d0..0876ba2ca3eb76ee5627b412a581bebc984c8a5c 100644 --- a/tests/test_webservice.py +++ b/tests/test_webservice.py @@ -95,14 +95,14 @@ def test_parse_config(): 'other_empty_key': "''", 'brian': 'scone'} - expected = ['whatever', '--somebool', '--alist', '1', '2', '3', + expected = ['whatever', '--somebool', '--no-notsomebool', + '--alist', '1', '2', '3', '--some_empty_key', '', '--other_empty_key', '', '--brian', 'scone'] config = parse_config(cmd, config) assert config == expected - assert '--notsomebool' not in config with pytest.raises(ValueError): config = {'some key': 'value'} diff --git a/webservice/webservice.py b/webservice/webservice.py index 65b37bd79525feb1471247a7fdf26b727c345f11..05b4b59372c4073754da3e57db718c5ddc5a9b8e 100644 --- a/webservice/webservice.py +++ b/webservice/webservice.py @@ -333,8 +333,7 @@ def parse_config(cmd: List[str], config: Dict[str, Any]) -> List[str]: cmd.append(f"--{key}") cmd += [str(v) for v in value] elif isinstance(value, bool): - if value: - cmd += ["--{}".format(key)] + cmd.append(f"--{key}" if value else f"--no-{key}") else: if value in ['""', "''"]: value = ""