- flat is better than nested
- more consistent variable names
- positive messages
This commit is contained in:
Manuel Barkhau 2021-11-07 12:30:36 +00:00 committed by mbarkhau
parent 0a109aad21
commit 29f0925bd3
2 changed files with 22 additions and 24 deletions

View file

@ -679,26 +679,26 @@ def _update_cfg_from_vcs(cfg: config.Config, fetch: bool) -> config.Config:
def _parse_vcs_options( def _parse_vcs_options(
cfg : config.Config, cfg : config.Config,
commit: typ.Optional[bool] = None, commit : typ.Optional[bool] = None,
tag : typ.Optional[bool] = None, tag_commit: typ.Optional[bool] = None,
push : typ.Optional[bool] = None, push : typ.Optional[bool] = None,
) -> config.Config: ) -> config.Config:
if commit is not None: if commit is False and tag_commit:
if not commit:
if tag:
raise ValueError("--no-commit and --tag-commit cannot be used at the same time") raise ValueError("--no-commit and --tag-commit cannot be used at the same time")
if push: if commit is False and push:
raise ValueError("--no-commit and --push cannot be used at the same time") raise ValueError("--no-commit and --push cannot be used at the same time")
if commit is not None:
cfg = cfg._replace(commit=commit) cfg = cfg._replace(commit=commit)
if tag is not None:
if tag and not cfg.commit: if not cfg.commit and tag_commit:
raise ValueError( raise ValueError("--tag-commit requires either --commit or commit=True in your config")
"--tag-commit requires the --commit flag if commit=False in the config file" if not cfg.commit and push:
) raise ValueError("--push requires either --commit or commit=True in your config")
cfg = cfg._replace(tag=tag)
if tag_commit is not None:
cfg = cfg._replace(tag=tag_commit)
if push is not None: if push is not None:
if push and not cfg.commit:
raise ValueError("--push requires the --commit flag if commit=False in the config file")
cfg = cfg._replace(push=push) cfg = cfg._replace(push=push)
return cfg return cfg

View file

@ -691,18 +691,16 @@ def test_incorrect_vcs_option_tag_push(runner, caplog):
result = runner.invoke(cli.cli, ['update', "-vv", "--tag-commit"]) result = runner.invoke(cli.cli, ['update', "-vv", "--tag-commit"])
assert result.exit_code == 1 assert result.exit_code == 1
assert len(caplog.records) == 1 assert len(caplog.records) == 1
assert ( expected = (
"Invalid argument: --tag-commit requires the --commit flag if commit=False in the config file" "Invalid argument: --tag-commit requires either --commit or commit=True in your config"
in caplog.records[0].message
) )
assert expected in caplog.records[0].message
result = runner.invoke(cli.cli, ['update', "-vv", "--push"]) result = runner.invoke(cli.cli, ['update', "-vv", "--push"])
assert result.exit_code == 1 assert result.exit_code == 1
assert len(caplog.records) == 2 assert len(caplog.records) == 2
assert ( expected = "Invalid argument: --push requires either --commit or commit=True in your config"
"Invalid argument: --push requires the --commit flag if commit=False in the config file" assert expected in caplog.records[1].message
in caplog.records[1].message
)
@pytest.mark.parametrize("version_pattern, cur_version, cur_pep440", DEFAULT_VERSION_PATTERNS) @pytest.mark.parametrize("version_pattern, cur_version, cur_pep440", DEFAULT_VERSION_PATTERNS)